我试着使用Rancher。我使用以下命令来启动它:
sudo docker run -d --restart=always -p 8080:8080 rancher/server
然后,我停止并删除了容器。但是,如果我停止并重新启动docker守护程序或重启我的笔记本电脑,并使用“docker ps”命令查找正在运行的容器,rancher服务器将再次运行。如何完全停止/删除它,并确保它不会再次运行。
我试着使用Rancher。我使用以下命令来启动它:
sudo docker run -d --restart=always -p 8080:8080 rancher/server
然后,我停止并删除了容器。但是,如果我停止并重新启动docker守护程序或重启我的笔记本电脑,并使用“docker ps”命令查找正在运行的容器,rancher服务器将再次运行。如何完全停止/删除它,并确保它不会再次运行。
注意:根据问题 11008和PR 15348(提交 fd8b25c,docker v1.11.2),您可以通过以下方式避免此问题:
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server
在您目前的情况下,由于PR 19116,您可以使用docker update
来更新重启策略。
docker update --restart=unless-stopped <yourContainerID_or_Name>
然后停止您的容器,重新启动 docker 守护程序:它将不会重新启动该容器。
OP codefire 在评论中指出了另一个原因:
当我第一次运行 start rancher server 命令时,我没有注意到它正在下载。所以我可能尝试了几次这个命令。
这就是为什么即使在停止并删除作为牧场服务器启动的容器之后,作业仍然保持重新启动的原因。
在停止和删除 8+ 个容器之后,它终于停止了
它一直重新启动,因为您使用了--restart=always
标志
运行
docker logs <CONTAINER_ID>
查看您的代码是否遇到任何错误,导致容器无法正常运行
kubectl get nodes
获取您拥有的节点,然后运行:kubectl drain NODE_ID --delete-emptydir-data --ignore-daemonsets
这些解决方案是正确的!但对于我来说,有一种情况,当这些答案不起作用时。那是因为我在后台运行服务,我没有将其删除,所以即使您删除容器,它也会重新启动,如此往复...... 因此,针对这个特定的问题的答案是
docker service rm service name or id
如果您关闭/停止Docker守护程序,则Docker运行在本地主机上,且在Docker容器内部删除数据,如果您未将数据保存在外部卷中。
docker run -d nginxlogs:/var/log/nginx -p 5000:80 nginx