繁体   English   中英

Docker构成网络链接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM