Cannot link to /dock_mysql-server_1, as it does not belong to the default network.

作者:admin 发布:2018-07-26 浏览:2530次

问题描述:

使用docker-compose启动多个容器后,又单独run container,同时连接到docker-compose启动的容器,

命令:

docker run -p 8083:8080 --link dock_mysql-server_1:mysql-server -it tomcat-local:v1 bash

报错:

docker: Error response from daemon: Cannot link to /dock_mysql-server_1, as it does not belong to the default network.

查看网络

docker network ls

image.png

造成问题的原因是 Docker-Compose命名约定造成。


使用docker-compose时,您的网络名称是根据docker-compose“项目名称”决定的,该项目名称基于其所在目录的名称。您可以使用-project-name标志覆盖项目名称或 COMPOSE_PROJECT_NAME环境变量。 我的docker-compose.yml文件位于一个名为dock的目录中,这就是为什么docker-compose在创建正在运行的容器实例时选择了dock_default!


解决办法:

run 命令后增加--net参数,根据docker-compose 网络


docker run -p 8083:8080 --link dock_mysql-server_1:mysql-server --net dock_default  -it tomcat-local:v1 bash

 

Comments (0)