我试图用docker-compose在docker上打开第二个终端。
首先使用
docker-compose run my-centos bash
Run Code Online (Sandbox Code Playgroud)
当我尝试打开第二个终端时
docker-compose exec my-centos bash
Run Code Online (Sandbox Code Playgroud)
我收到消息
ERROR:No container found for my_centos_1
Run Code Online (Sandbox Code Playgroud)
如果我搜索正在运行的容器的名称,则会得到
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
34a95b44f0a2 centos6 "bash" 9 minutes ago Up 9 minutes docker_my-centos_run_1
Run Code Online (Sandbox Code Playgroud)
为什么docker-compose exec search docker_my_centos_1而不是docker_my-centos_run_1?
docker-compose旨在运行多容器应用程序,并应与一起使用docker-compose up。使用时docker-compose run,您会创建一个并非真正适合正常使用的特殊容器。
由于docker-compose只是docker的包装,因此您仍然可以通过常规docker命令访问此“ specia”容器:
docker exec docker_my-centos_run_1 bash
否则,建议您从开始使用容器docker-compose up。这样就可以以指定的方式运行第二个bash:
docker-compose exec my-centos bash
注意:我不知道您是否可以直接用附加一个TTY docker-compose up,因此您可能需要额外运行docker-compose exec my-centos bash才能获得两个TTY。
| 归档时间: |
|
| 查看次数: |
7913 次 |
| 最近记录: |