🐳 Как перезапустить службу docker, не затрагивая запущенные контейнеры

Перезапускаем Docker безболезненно

by itisgood

Перезапустим службу docker, не затрагивая запущенные контейнеры, используя функцию восстановления в реальном времени.

Выведем список запущенных контейнеров.

$ docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED       STATUS                 PORTS                    NAMES
4c644b887440   archivebox/archivebox:master   "dumb-init -- /app/b…"   2 weeks ago   Up 2 weeks (healthy)   0.0.0.0:8000->8000/tcp   archivebox_archivebox_1

Перезапустим службу docker.

$ sudo systemctl restart docker

Обратите внимание, что работающий контейнер также был перезапущен.

$ docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED              STATUS                        PORTS                    NAMES
46e33e628976   archivebox/archivebox:master   "dumb-init -- /app/b…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:8000->8000/tcp   archivebox_archivebox_1

Включим функцию восстановления в реальном времени.

$ cat  /etc/docker/daemon.json
{
  "live-restore": true
}
$ sudo systemctl reload  docker

Перезапустим службу docker.

$ sudo systemctl restart docker

Обратите внимание, что старый контейнер все еще работает.

$ docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED         STATUS                   PORTS                    NAMES
46e33e628976   archivebox/archivebox:master   "dumb-init -- /app/b…"   4 minutes ago   Up 4 minutes (healthy)   0.0.0.0:8000->8000/tcp   archivebox_archivebox_1

см. также:

You may also like

Leave a Comment