Reputation: 44331
I would like to stop a container which is failing to restart (it is in status Restarting
). The container has restart=always
. Doing:
docker stop <container>
seems to succeed (no error message), but the container is restarted anyway. The same command actually stops containers with restart=always
which have restarted normally.
If I try to kill the container:
docker kill <container>
I get a message: container is not running
(which is true)
Removing the container works:
docker rm <container>
The container will not restart, since it does not exist anymore. But this is not what I wanted: I only wanted for it to stop restarting.
How can I stop a failing, restarting container, without removing it?
Upvotes: 5
Views: 3641
Reputation: 25122
You can first change the restart policy
with docker container update
:
docker container update --restart="no" <your container name>
and then continue with:
docker container stop <your container name>
Restart policies (--restart):
- no: Do not automatically restart the container when it exits. This is the default.
- on-failure[:max-retries]: Restart only if the container exits with a non-zero exit status. Optionally, limit the number of restart retries the Docker daemon attempts.
- always: Always restart the container regardless of the exit status. When you specify always, the Docker daemon will try to restart the container indefinitely. The container will also always start on daemon startup, regardless of the current state of the container.
- unless-stopped: Always restart the container regardless of the exit status, including on daemon startup, except if the container was put into a stopped state before the Docker daemon was stopped.
Upvotes: 4
Reputation: 8357
You could take a look into docker pause
. Please see it's documentation here
Upvotes: 1