Skip to content

vasyakrg/autoheal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Тестирование и перезапуск контейнера по состоянию

Описание

  • при запуске создаются два контейнера:

    • test - простое приложение, которое поднимает два порта: 80 и 3000
    • 80 порт просто отвечает (или не отвечает) нам Ок
    • 3000 порт для управления работой порта 80

      curl http://0.0.0.0:3000

    • позволяет вам соответственно включать или отключать в приложении порт 80
  • второй контейнер служит для передергивания всех контейнеров, у которых лейб в контейнере "autoheal": "true"

Что получаем на выходе

  • как только в приложении к контейнере test падает порт 80, контейнер autoheal тут же передергивает его и возвращает в работу

Если не хочу или не могу пересобирать контейнер ?

  • достаточно описать инициализацию контейнера так:
services:
  test:
    build: ./test
    container_name: test
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:80"]
      interval: 30s
      timeout: 2s
      retries: 1
      start_period: 20s
    labels:
      "autoheal": "true"
    ports:
      - 80:80
      - 3000:3000

Видео-урок

  • Запись по работе с проектом можно посмотреть тут
  • Этот и много других уроков тут
Автор

About

Docker: autorestart container by state

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published