diff --git a/docker-compose.yml b/docker-compose.yml index 316684f..70802ca 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,9 @@ services: # Внутри контейнера nginx слушает на порту 80 - '${CABINET_PORT:-3020}:80' healthcheck: - test: ['CMD', 'wget', '--no-verbose', '--tries=1', '--spider', 'http://localhost:80/'] + # 127.0.0.1 вместо localhost: localhost может резолвиться в [::1], и на + # образах, где nginx слушает только IPv4, healthcheck ложно падает + test: ['CMD', 'wget', '--no-verbose', '--tries=1', '--spider', 'http://127.0.0.1:80/'] interval: 30s timeout: 3s retries: 3 diff --git a/nginx.conf b/nginx.conf index 1706b3b..868c49d 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,5 +1,9 @@ server { listen 80; + # Слушаем и IPv6: healthcheck ходит на localhost, который в контейнере + # резолвится в [::1] — без этой строки wget получает Connection refused + # и контейнер стабильно уходит в unhealthy (#3024 в репозитории бота). + listen [::]:80; server_name _; root /usr/share/nginx/html;