Допустим, вам нужно чтобы два веб-приложения могли передавать друг другу данные. Для этого их нужно соединить. Чтобы соединить несколько Docker
контейнеров надо чтобы контейнеры находились в одной сети. Сети — это функционал самого Docker
, а не Docker Compose
.
Примеры файлов
# front/docker-compose.yml
services:
front:
# ...
networks:
- some-net
networks:
some-net:
driver: bridge
# api/docker-compose.yml
services:
api:
# ...
networks:
- front_some-net
networks:
front_some-net:
external: true
Примечание: имя сети вашего приложения присваивается на основе имени проекта, которое, в свою очередь, основано на имени каталога, в котором оно находится, в данном случае будет добавлен префикс front_
.
Теперь контейнеры могут общаться друг с другом, используя имя сервиса. Из контейнера front
теперь можно набрать ping api
и наоборот.