Программы
Как настроить Docker, чтобы он переподнимался при ошибках и перезапуске хоста

Как настроить Docker, чтобы он переподнимался при ошибках и перезапуске хоста

Настройка политики перезапуска Docker контейнеров

Для начала стоит добавить параметр --restart=always к команде запуска Docker:

    docker run --restart=always -d {{ name }}

Политика перезапуска Docker-контейнера устанавливается параметром --restart – именно он указывает как поступать с контейнером, который завершил свою работу / упал с ошибкой / при старте системы. Возможные варианты:

  • no – не перезапускать docker-контейнер;
  • on-failure – рестартануть контейнер, в случае если entry point процесс завершился с ненулевым кодом;
  • always – перезапускать всегда, вне зависимости от того, что случилось с docker-контейнером.

Также можно установить максимальное количество попыток перезапустить контейнер при использовании политики перезапуска on-failure. По умолчанию Docker будет постоянно пытаться перезапустить.

    docker run --restart=always {{ name }}

А здесь Docker попытается только 10 раз:

    docker run --restart=on-failure:10 {{ name }}

Если контейнер поднимется хотя бы и завершится с нулевым кодом возврата, то счётчик начнётся с начала. Работает это только с политикой on-failure.

Также может быть вам интересно:

Два джунá писали АПИ

Небольшой рассказ о разработке API

Читать »

Полезные, но неочевидные команды PostgreSQL

Часто новичку в PostgreSQL сложно просто от того, что многие команды, к которым он привык в других СУРБД называются по-другому, и вообще выглядят странно

Читать »
Фото Добавляем поддержку медиа-файлов в Django проект

Добавляем поддержку медиа-файлов в Django проект

Современные сайты редко ограничиваются только текстом и вёрсткой. Часто в заметках красуются фотографии, а рядом с описанием товаров - их изображения.

Фото Настройка журналирования (логирования) в Python с примерами

Настройка журналирования (логирования) в Python с примерами

Во время работы программы часто нужно сохранять некоторые важные записи о процессе выполнения команды. В Python есть довольно мощный модуль для работы с логами - давайте разберёмся с тем, как его использовать.

Фото Добавляем постраничную пагинацию на Django сайт

Добавляем постраничную пагинацию на Django сайт

На сайтах часто встречаются многостраничные объекты: список товаров, список заметок и т.д. Поэтому важно уметь добавить навигацию по страницам на Django-проекте.

Фото Разграничение прав доступа на Django сайте

Разграничение прав доступа на Django сайте

Почти на любом веб-сайте необходимо разделять пользователей на группы и предоставлять им разные возможности. В Django есть довольно серьёзная система прав доступа для пользователей - давайте её рассмотрим!

Фото О многозадачности и планировщике задач (шедулер)

О многозадачности и планировщике задач (шедулер)

Небольшой экскурс в проблемы многозадачности и реализации планировщиков.

Фото Как установить часовой пояс в Linux

Как установить часовой пояс в Linux

В рамках первичной настройки Операционной Системы важно установить и по какому времени вы живёте, ведь при следующем обновлении времени через Интернет ваше время слетит.

Фото Команда grep – полезные ключи и примеры использования

Команда grep – полезные ключи и примеры использования

У команды "grep" довольно много различных особенностей. особенно, если учесть, что с английского это "решето" – а что может войти в решето , не факт что выйдет!

Фото Как создать неизменяемый файл в Linux / MacOS / FreeBSD

Как создать неизменяемый файл в Linux / MacOS / FreeBSD

Само собой, root может всё (если введёт пару команд), однако, это вполне легальный способ запретить изменение файла.