栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用docker-compose将docker容器彼此链接

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用docker-compose将docker容器彼此链接

为Docker 1.10更新

Docker 1.10允许在compose文件中定义网络。这是更新的代码

version: "2"services:  replica1:    image: mongo:2.6.8    container_name: replica1    networks:      - my-net    ports:      - "27018"    environment:      REPLICA2_URL: "http://replica2:27019"  replica2:    image: mongo:2.6.8    container_name: replica2    networks:      - my-net    ports:      - "27019"    environment:      REPLICA1_URL: "http://replica1:27018"networks:  my-net:    driver: bridge

Docker 1.9的先前答案

从Docker 1.9开始,解决方案是创建一个自定义网络并将其传递给

docker-compose up
命令。

  1. 创建一个网络

    docker network create --driver bridge my-net

  2. ${NETWORK}
    在docker-compose.yml文件中将该网络作为环境变量()引用。例如:

    replica1:      image: mongo:2.6.8      container_name: replica1      net: ${NETWORK}      ports:        - "27018"      environment:        REPLICA2_URL: "http://replica2:27019"    replica2:      image: mongo:2.6.8      container_name: replica2      net: ${NETWORK}      ports:        - "27019"      environment:        REPLICA1_URL: "http://replica1:27018"

请注意,

replica1
in
http://replica1:27018
将解析为copy11服务(容器)的IP地址。无需对IP地址进行硬编码;复制品1的条目会自动添加到复制品2容器的/
etc / host中。对于replica1容器也是如此。Docker将在其/ etc / host文件中为copy2添加一个条目。

  1. 调用docker-compose,将创建的网络传递给它
    NETWORK=my-net docker-compose up -d -f docker-compose.yml

我创建了一个
桥接网络 ,该
网络 仅在一个节点(主机)内工作。对开发人员有好处。如果需要让两个节点互相通信,则需要创建一个
覆盖网络 。虽然相同的原则。您将网络名称传递给docker-compose up命令。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/417419.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号