docker使用docker-compose构建容器时使用external_links失效

例如:

monitor:
    image: monitor:1.0-SNAPSHOT
    container_name: monitor
    ports:
      - 8101:8101
    volumes:
      - /mydata/app/monitor/logs:/var/logs
      - /etc/localtime:/etc/localtime
    environment:
      - 'TZ="Asia/Shanghai"'
    external_links:
      - nacos-registry:nacos-registry #可以用nacos-registry这个域名访问nacos服务

当docker-compose.yml文件中使用了external_links和其他容器进行连接时

http://nacos-registry:8848

比如上面的例子,提示无法连接,这是因为两个docker容器不在同一个网络内。
这时可以先查看现在的所有网络

docker network ls #列出当前的所有网络

在这里插入图片描述

  1. 创建一个新的docker网络
docker network create -d bridge custom

这时就创建了一个名为custom的网络
然后在构建两个容器的docker-compose.yml文件的最后面都添加以下配置

networks:
  default:
    external:
      name: custom

保存然后重新构建容器,这时两个容器直接的网络就可以互通了。
PS:当然也可以使用–link elasticsearch:es
external_links和links的区别

  • links代表的是在本文件下互通:意思就是在这个yml文件一块启动的容器下互通
  • external_links是只要是同一个docker启动的都可以互通(可能需要配置网络)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值