首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >docker-编写、运行和执行:没有找到容器

docker-编写、运行和执行:没有找到容器
EN

Stack Overflow用户
提问于 2017-11-20 14:32:11
回答 5查看 31.3K关注 0票数 17

我在试着开第二个码头,去找一个码头工。

首先运行容器

代码语言:javascript
复制
docker-compose run my-centos bash

当我试图打开第二个终端时

代码语言:javascript
复制
docker-compose exec my-centos bash

我明白

代码语言:javascript
复制
ERROR:No container found for my_centos_1

如果我搜索正在运行的容器的名称,就会得到

代码语言:javascript
复制
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                    PORTS                    NAMES
34a95b44f0a2        centos6   "bash"                   9 minutes ago       Up 9 minutes                                       docker_my-centos_run_1

为什么停靠-组合主管搜索docker_my_centos_1而不是docker_my-centos_run_1

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-11-20 15:12:38

docker-compose用于运行多容器应用程序,并且应该与docker-compose up一起使用。当您使用docker-compose run时,您将生成一个特殊的容器,这个容器并不是真正用于正常使用的。

因为docker -组合只是一个围绕docker的包装器,所以仍然可以通过普通的docker命令访问这个特殊容器:

docker exec docker_my-centos_run_1 bash

否则,我建议您的容器开始使用docker-compose up。这使得您可以以指定的方式运行第二个bash:

docker-compose exec my-centos bash

注意:--我不知道您是否可以直接用docker-compose up附加TTY,所以您可能需要运行一个额外的docker-compose exec my-centos bash才能得到两个TTY。

票数 19
EN

Stack Overflow用户

发布于 2020-07-12 04:34:06

你需要做“码头-组成-d”然后尝试你的命令。

票数 4
EN

Stack Overflow用户

发布于 2021-02-05 19:59:51

我认为您可能对项目名称有问题,因为您没有告诉Docker您指的是项目。

我面临着这个问题,可以修正添加项目名称如下:

代码语言:javascript
复制
docker-compose -p myprojectname ps

代码语言:javascript
复制
docker-compose -p myprojectname exec php_service composer install

这篇文章解释道:https://codereviewvideos.com/blog/how-i-fixed-docker-compose-exec-error-no-container-found-for/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47394428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档