Docker kontejner (nginx) nemůže vyřešit hostitele.docker.vnitřní přes extra_hosts

0

Otázka

Snažím se připojit následovat žádost nginx do port 9100 (Uzel vývozce) na linux hostitele.

tohle je můj docker-compose.yml verze: '3.3'

services:
  nginx:
    image: nginx:1.21.4-perl
    ports:
    - 80:80
    volumes:
    - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
    extra_hosts:
      - 'host.docker.internal:10.187.1.52'

Tohle je můj nginx.conf

worker_processes auto;
http {
    listen 80;
    server_name localhost;

    resolver 127.0.0.11 ipv6=off;

    location ~ ^/node(/?.*) {
      proxy_pass http://host.docker.internal:9100$1;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_read_timeout 300s;
    }
}

Tohle je můj docker verzi

docker version
Client: Docker Engine - Community
 Version:           20.10.10
 API version:       1.41
 Go version:        go1.16.9
 Git commit:        b485636
 Built:             Mon Oct 25 07:44:50 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Já reverzní proxy pro Uzel Vývozce na portu 9100. Je to běh na linux hostitele stroj. To funguje dobře, když jsem dal ip adresu ("10.187.1.52") v nginx.cnf přímo. Nicméně, To se nepodařilo, když jsem zkusil použít název počítače jako "hostitele.docker.vnitřní". Jsem také se snaží definovat na "extra_hosts" oddíl v docker-compose.yml ale výsledek stále nepodařilo. Mám stejnou chybu '[error] 24#24: *1 ne resolver definovanými vyřešit hostitele.docker.vnitřní, klient: 10.186.110.106, server: localhost, žádost: "GET /node/metriky HTTP/1.1"'

Můžete mi prosím dát nějaké návrhy na opravu?

Poznámka!! Vytvářím příklad pro monitorování zatížení testování na GitHub. Tohle je snap kódu z mého projektu, takže můžete vidět kompletní zdrojový kód na tento odkaz.

1

Nejlepší odpověď

0

Docker Compose standardně vystavuje služby název služby jako hostitele pro inter-kontejner sítí. Ve vašem docker-compose.yml máte službu s názvem appcadvisor takže váš název hostitele by měly být appcadvisor místo cadvisor.

2021-11-24 05:58:58

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................