我正在将docker-machine与Google Compute Engine(GCE)一起使用
运行一个
docker swarm集群。我用2成功创建了一个群体
节点
(swnd-01&swnd-02)在集群中。我创建了一个守护程序容器
像这样
在群管理器环境中:docker run -d ubuntu /bin/bash
docker ps
显示在swnd-01上运行的容器。当我尝试
使用docker exec
在容器上执行命令我得到了
错误,表示容器未运行,而docker ps
显示其他错误。
我通过docker-machine ssh
进入swnd-01以了解该容器
创建后就退出了。我在里面尝试了docker run
命令
swnd-01,但仍然退出。我不了解这种行为。
如有任何建议,我们将不胜感激。
最佳答案
它退出的原因是/bin/bash
命令完成,并且Docker容器仅在其主进程中运行(如果您使用-it
标志运行此类容器,则在连接终端时该进程将继续运行)。
至于为什么群管理器认为容器仍在运行,我不确定。我想在Swarm更新所有状态时会有短暂的延迟。
关于docker - Docker swarm-manager显示旧容器信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31354013/