Вы можете создать сеть docker за пределами вашего docker -compose и использовать эту сеть при запуске служб в docker -compose.
docker network create my-custom-created-network
теперь внутри вашего docker -compose, используйте эту сеть следующим образом:
services:
serv1:
image: img
networks:
my-custom-created-network
networks:
my-custom-created-network:
external: true
В примере создания сети создается мостовая сеть. Для доступа к контейнерам через хосты используйте оверлейную сеть.
Вы также можете использовать сеть, созданную внутри docker -compose, и подключать контейнеры к этой сети.
Docker создает сеть по умолчанию для docker -compose, а службы, для которых не указана какая-либо конфигурация сети, будут использовать сеть по умолчанию, созданную docker для этого файла compose.
вы можете найти сетевое имя, выполнив эту команду:
docker network ls
Используйте соответствующее сетевое имя при запуске контейнера, например, это
docker run [options] --network <network-name> <image-name>
Примечание. Контейнеры в одной сети доступный с использованием имен контейнеров, вы можете использовать это вместо использования ips