Struchkov Mark
0c10c08403
All checks were successful
continuous-integration/drone/push Build is passing
44 lines
2.0 KiB
Markdown
44 lines
2.0 KiB
Markdown
---
|
||
aliases:
|
||
tags:
|
||
- maturity/🌱
|
||
date: 2024-10-30
|
||
---
|
||
Для проверки работоспособности запущенного контейнера можно задать команду `healthcheck`. Контейнер не будет считаться полностью запущенным, пока не выполнится проверка работоспособности. Это особенно полезно при запуске нескольких контейнеров, которые зависят друг от друга. Например, если один контейнер должен быть готов до того, как будет запущен другой.
|
||
|
||
Пример конфигурации:
|
||
```yaml
|
||
services:
|
||
database:
|
||
image: postgres:latest
|
||
container_name: database
|
||
healthcheck:
|
||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||
interval: 10s
|
||
timeout: 5s
|
||
retries: 3
|
||
|
||
webapp:
|
||
image: my-webapp:latest
|
||
container_name: webapp
|
||
depends_on:
|
||
database:
|
||
condition: service_healthy
|
||
...
|
||
```
|
||
|
||
В этом примере контейнер с веб-приложением (`webapp`) зависит от контейнера с базой данных (`database`). Команда healthcheck для базы данных проверяет, готова ли PostgreSQL принимать подключения (`pg_isready`), и контейнер будет считаться здоровым только после успешного выполнения этой проверки.
|
||
***
|
||
## Мета информация
|
||
**Область**:: [[../../../meta/zero/00 Docker Compose|00 Docker Compose]]
|
||
**Родитель**::
|
||
**Источник**::
|
||
**Создана**:: [[2024-10-30]]
|
||
**Автор**::
|
||
### Дополнительные материалы
|
||
-
|
||
|
||
### Дочерние заметки
|
||
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
||
|