例如:
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 #列出当前的所有网络
- 创建一个新的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启动的都可以互通(可能需要配置网络)