From ce4ce046ba34b6439befda2899b87b77316c4030 Mon Sep 17 00:00:00 2001 From: kewldan <40865857+kewldan@users.noreply.github.com> Date: Mon, 13 Jul 2026 02:43:21 +0300 Subject: [PATCH] =?UTF-8?q?fix(docker):=20=D1=81=D0=BB=D1=83=D1=88=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20IPv6=20=D0=B2=20nginx=20=E2=80=94=20healthcheck?= =?UTF-8?q?=20=D0=BD=D0=B0=20localhost=20=D1=83=D0=B2=D0=BE=D0=B4=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=B9=D0=BD=D0=B5=D1=80?= =?UTF-8?q?=20=D0=B2=20unhealthy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 4 +++- nginx.conf | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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;