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.