我在尝试牧场主。 我使用了命令: sudo docker run -d --restart = always -p 8080:8080 rancher / server 开始运行它。 然后我停下了容器并将其取下。但是,如果我停止并重新启动docker守护程序或重启我的笔记本电脑,并使用docker ps命令查找正在运行的容器,它将再次运行rancher服务器。如何完全停止/删除它并确保它不会再次运行。
答案 0 :(得分:17)
注意:关注issue 11008和PR 15348(commit 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指向另一个原因in the comments:
当我第一次运行start rancher server命令时,我没有注意到它正在被下载。所以我可能已经重试了那个命令几次。
这就是为什么即使在停止并删除作为牧场服务器启动的容器之后,该作业仍会继续重新启动 停止并移除8个以上的容器后,它终于停止了
答案 1 :(得分:2)
它会不断重启,因为您使用的是--restart = always标志
运行
docker logs <CONTAINER_ID>
查看您的代码是否遇到任何不允许容器正常运行的错误
答案 2 :(得分:-1)
如果你没有将数据保存在外部卷中,如果关闭/杀死docker damen然后docker stop并且在docker容器内部删除数据,那么Docker会在你的locahost中运行。
docker run -d nginxlogs:/ var / log / nginx -p 5000:80 nginx