问题描述:
使用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
造成问题的原因是 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)