原因
因為在使用docker-compose啟動服務時,docker-compose.yml定義的容器會運行在一個隔離環境中,他是無法訪問其他已經存在了的容器的。
解決步驟
1.創建自定義network並且綁定
1 #分別查看容器的networks是否存在同一網絡模式中 2 docker inspect 容器id 3 #創建新的網絡模式 4 docker network create mynet --driver bridge 5 #查看是否存在 6 docker network ls 7 #解除容器綁定的網絡 bridge:容器以前的network mysql:容器標識符(容器id前綴,也可寫完整) 8 docker network disconnect bridge mysql 9 #為容器重新指定自定義網絡 10 docker network connect mynet mysql 11 #重新啟動容器 12 docker restart mysql
2.設置docker-compose的配置文件
# 網絡設置(跟services平級) networks: #可以自定義network名稱,這里使用default表示如果不在service中單獨配置就使用該設置 default: external: #使用自定義network name: mynet