[英]Docker-compose network link
随着新功能“网络”的发布( 链接 ),Docker的“链接”功能将被弃用。 我正在用一些容器制作docker-compose,并且没有'link'来连接彼此(没有任何其他命令)。
由于我需要将链接配置更改为网络,因此我必须在“docker-compose up”之前建立docker网络。 是否有任何docker-compose功能可以自动生成docker网络? 或者通过某种配置连接每个容器的任何其他方式?
docker-compose为您自己的撰写项目创建默认网络。 您只需将撰写项目迁移到version: '2'
或version: '3'
撰写yaml格式的version: '3'
。 请阅读升级方法以获取更多信息。
对于版本2和3,您不必再指定链接,因为如果您未明确指定其他网络,则所有服务都将位于默认网络中。
更新:要使2个容器相互通信,您只需使用将解析为容器IP的服务名称。 现在只有在某种情况下容器需要特定名称时才需要链接,例如因为它是硬编码的。
默认情况下,使用v2 yml的docker-compose将为您的项目启动网络。 除非您明确说明,否则您创建的任何网络也将被创建。 这是docker-compose.yml的示例:
version: '2'
networks:
dbnet:
appnet:
services:
db:
image: busybox
command: tail -f /dev/null
networks:
- dbnet
app:
image: busybox
command: tail -f /dev/null
networks:
- dbnet
- appnet
proxy:
image: busybox
command: tail -f /dev/null
ports:
- 80
networks:
- appnet
然后当你把它旋转起来时,你会看到它创建了定义的网络:
$ docker-compose up -d
Creating network "test_dbnet" with the default driver
Creating network "test_appnet" with the default driver
Creating test_app_1
Creating test_db_1
Creating test_proxy_1
请注意,链接容器还创建了一个隐式依赖项,因此您可能希望在删除链接后,在yml中使用depends_on
在任何依赖项中都是显式的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.