如何在docker群中重新启动多个容器
我目前有4个不同的主机在我的docker设置8容器。
ubuntu@ip-192-168-1-8:~$ docker service ls ID NAME MODE REPLICAS IMAGE yyyytxxxxx8 mycontainers global 8/8 myapplications:latest
在服务上运行ps -a
产生以下结果。
ubuntu@ip-192-168-1-8:~$ docker service ps -a yy NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS mycontainers1 myapplications:latest: ip-192-168-1-5 Running Running 3 hours ago \_ mycontainers2 myapplications:latest: ip-192-168-1-6 Running Running 3 hours ago \_ mycontainers3 myapplications:latest: ip-192-168-1-7 Running Running 3 hours ago \_ mycontainers4 myapplications:latest: ip-192-168-1-8 Running Running 3 hours ago \_ mycontainers1 myapplications:latest: ip-192-168-1-5 Running Running 3 hours ago \_ mycontainers2 myapplications:latest: ip-192-168-1-6 Running Running 3 hours ago \_ mycontainers3 myapplications:latest: ip-192-168-1-7 Running Running 3 hours ago \_ mycontainers4 myapplications:latest: ip-192-168-1-8 Running Running 3 hours ago
我的问题是我如何执行重新启动使用服务ID的所有容器? 我不想手动login到每个节点并执行重新启动。
在Docker 1.12.x的最新稳定版本中,可以通过更新服务configuration来重新启动容器,但即将发布的docker 1.13.0中,即使服务设置未更改,也可以通过指定--force
标志,容器将被重新启动。 如果你不介意使用1.13.0 RC4,你可以现在就做。
$ docker service update --force mycontainers
更新:Docker 1.13.0已经发布。
更新现有服务,swarm将重新创build所有容器。 例如,您可以简单地更新服务的属性以重新开始归档。