Email or username:

Password:

Forgot your password?
Kantor

Разница между restart: unless-stopped и restart: always

Долгое время я наивно полагал, что разница между unless-stopped и always в том, что unless-stopped остановится, если дать docker stop <container>, а always нет. Это не так. Все контейнеры, от мала до велика, останавливаются, если в них кинуть stop.

Нюанс в том, что если что-то внешнее убьёт или повредит сервис Докера, то после восстановления работоспособности always стартанёт, а unless-stopped не стартанёт. Однако, оба случая перезагрузят контейнер, если внутри случится ошибка и он вылетит. Поэтому, если вам нужны контейнеры, которые будут стартовать вместе с системой и после перезагрузок системы, то вам нужен always.

#techtip #docker #ru
@ru @rf

1 comment
Alexey Skobkin

@kantor
Там немного не в этом суть.
docker stop остановит и то, и другое.
Но если ты сделал docker stop, то always на следующем ребуте запустится, а unless-stopped нет.

То есть в целом unless-stopped можно использовать и с ребутами. Он в меньшем количестве ситуаций перезапустит контейнер, но зато он и запомнит если тебе его нужно руками погасить и оставить так даже после ребута.

Go Up