docker使用docker-compose構建容器時使用external_links失效
阿新 • • 發佈:2021-01-20
例如:
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啟動的都可以互通(可能需要配置網路)