如何停止以“--restart=always”启动的Docker容器

4bbkushb  于 2023-02-21  发布在  Docker
关注(0)|答案(4)|浏览(417)

有什么方法可以像下面这样停止以**--restart=always**开头的Docker容器
sudo docker run -it --restart=always <image_id>

9udxz4iz

9udxz4iz1#

这是docker最近收录的一只强大的鹰。
您可以update Docker容器。
使用**sudo docker update --restart=no <container_id>**更新容器的--restart标志。
现在可以stop容器了。

mkshixfv

mkshixfv2#

您应该可以使用docker stop,然后使用docker rm来确保守护进程重新启动时容器不会重新启动。
您的问题是Docker github上的一个问题,有人对如何解决here发表了一些评论
我不确定在守护进程重新启动时重新启动一个停止的容器是否是预期的行为...但可以肯定的是,docker rm将是所有需要的,不需要删除映像。

7dl7o3gd

7dl7o3gd3#

如果您使用docker stop或docker kill,您将手动停止容器,因此它不会重新启动。您可以对重新启动策略进行一些测试:重新启动Docker守护进程,重新启动服务器,在容器内使用CMD并运行exit ...
有关详细信息,请参见此答案:
https://serverfault.com/a/884823/381420

trnvg8h3

trnvg8h34#

    • TL; DR**

同时检查docker swarm是否有任何栈在那里旋转容器。只需运行docker stack ls,然后运行docker rm <stack_name>

    • 加长版**

这并不能完全回答您的问题,但我遇到过一个非常类似的问题,即使运行docker update --restart=no <container_id>docker stop <container_id>docker rm <container_id>,容器也会不断旋转。这些是一些旧容器,所以我不知道如何生成它们。
在Google上搜索之后,我意识到这是一个不断旋转容器的Docker群栈,通过运行docker stack lsdocker rm <stack_name>,我能够停止容器的自动旋转,从而完全删除它们。

相关问题