Docker compose与服务端口一起运行后的Docker compose exec

Docker compose与服务端口一起运行后的Docker compose exec,docker,docker-compose,Docker,Docker Compose,我有一个docker compose文件,可以很好地使用以下命令: docker-compose up docker-compose exec web /bin/bash 我遇到的问题是,当我想用--服务端口启动容器时,我不能再使用docker compose连接到容器 docker-compose run --service-ports web docker-compose exec web /bin/bash ERROR: No container found for web_1 我还尝

我有一个docker compose文件,可以很好地使用以下命令:

docker-compose up
docker-compose exec web /bin/bash
我遇到的问题是,当我想用--服务端口启动容器时,我不能再使用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#
非常感谢您的帮助。

谢谢

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

因此,您不能在run+exec中拆分操作

这将有助于:

docker compose运行--服务端口web/bin/bash
您应该使用
docker compose up
来启动服务,而不是
docker compose run