Hoy os voy a enseñar cómo podéis unir dos contenedores definidos dentro de dos docker-compose.yml distintos.
Tenemos lo siguiente:
Archivo docker-compose-db.yml
version: "3.1" services: miservicio_mariadb: image: mariadb container_name: mariadb_container env_file: - ./Dockerfile/mysql.env environment: MYSQL_DATABASE: "db" # So you don't have to use root, but you can if you like MYSQL_USER: "user" # You can use whatever password you like MYSQL_PASSWORD: "pass" # Password for root access MYSQL_ROOT_PASSWORD: "pass_root" volumes: - ./config/mariadb:/var/lib/mysql expose: - 3306 ports: - 3306:3306 networks: - docker-network networks: docker-network: driver: bridge external: true
Y el archivo docker-compose-phpmyadmin.yml
version: "3.1" services: phpmyadmin: image: phpmyadmin restart: always container_name: phpmyadmin_container ports: - 8080:80 environment: - PMA_ARBITRARY=1 external_links: - miservicio_mariadb:db networks: - docker-network networks: docker-network: driver: bridge external: true
En este caso, he creado estos dos archivos de docker-compose para comunicar la base de datos de forma externa con PHPMyadmin.
Primero ejecutamos y creamos el contenedor de miservicio_mariadb y luego ejecutamos y creamos el servicio phpmyadmin.
Mediante external_links se comunicará phpmyadmin con el servicio mariadb creado.
Para ejecutar todo, tenemos que introducir esto en el terminal:
docker-compose -p db-f docker-compose-db.yml up -d docker-compose -p phpmyadmin -f docker-compose-phpmyadmin.yml up -d
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.