在docker compose与服务端口一起运行后,Docker compose exec

时间:2019-06-12 11:17:37

标签: docker docker-compose

我有一个docker compose文件,可以与以下命令配合使用:

docker-compose up
docker-compose exec web /bin/bash

我遇到的问题是,当我想使用--service-ports启动容器时,我无法再使用docker-compose连接到容器。

docker-compose run --service-ports web
docker-compose exec web /bin/bash
ERROR: No container found for web_1

我也尝试过:

docker-compose run --service-ports --name container_web --rm web
docker-compose exec web /bin/bash
ERROR: No container found for web_1
# this works
docker exec -it container_web /bin/bash
root@b09618ad2840:/code/app#

任何帮助将不胜感激。
谢谢

1 个答案:

答案 0 :(得分:1)

根据文档,docker-compose run用于“对服务运行一次性命令”。

因此,您无法在run + exec中拆分操作。

这将起作用:

docker-compose run --service-ports web /bin/bash

您应该使用docker-compose up而不是docker-compose run来启动服务。