我有一个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#
任何帮助将不胜感激。
谢谢
答案 0 :(得分:1)
根据文档,docker-compose run
用于“对服务运行一次性命令”。
因此,您无法在run + exec中拆分操作。
这将起作用:
docker-compose run --service-ports web /bin/bash
您应该使用docker-compose up
而不是docker-compose run
来启动服务。