一个非常基本的文件,但是本文档似乎只提到docker-compose文件本身,而不是命令行:https://docs.docker.com/compose/networking/#links
当我打电话时:
docker-compose up -d service1 service2
我希望这些创建的容器位于具有自定义名称的新网络上。使用docker-compose up命令时如何指定此网络?
即使我将网络配置添加到docker-compose文件中,也是如此:
networks:
mynetwork:
service1:
networks:
- mynetwork
docker-compose命令仍然在默认网络上创建容器,而不是使用“ mynetwork”。
答案 0 :(得分:1)
创建不存在的外部网络-
$ docker network create mynetwork || true
定义外部网络以撰写文件-
.........
ports:
- "8088:8088"
networks:
- mynetwork
networks:
mynetwork:
external: true
类似地,您也可以使用默认的create by网络,但是它将当前目录名添加到定义的网络名的前缀。您也可以使用主机网络模式,但不建议这样做。
由于compose 3.5
可以使用自定义名称,因此现在有两个用例已经很老了。这样一来,多个撰写文件中的服务就可以相互通信,而无需进行大量配置。
首选
Ex-
version: '3.5'
.........
ports:
- "8088:8088"
networks:
- mynetwork
networks:
mynetwork:
external: true
name: mynetwork