Автозагрузка docker-контейнеров

  Linux admin

Часто встречается ситуация, когда контейнеры останавливаются вследствие определенных факторов. Простейший пример – произошла перезагрузка сервера. Чтобы избавиться от необходимости вручную запускать их, можно настроить автозапуск контейнеров. Для этого следует создать текстовые файлы со специальным форматом для сервиса systemd. Рассмотрим пример их создания на примере контейнера my-db, введя в терминал команду:

cat /etc/systemd/system/my-db.service

В пустой файл необходимо добавить следующий код и сохранить его:

[Unit]
Description=MY DB (PG) docker container
Requires=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a my-db
ExecStop=/usr/bin/docker stop -t 2 my-db
TimeoutSec=30
[Install]
WantedBy=multi-user.target

После этого остается перезапустить демон systemd и включить автозагрузку контейнера mydb, набрав в терминале поочередно команды:

systemctl daemon-reload
systemctl start my-db.service
systemctl enable my-db.service