Puncte:0

conexiune refuzată din html în amonte - NGINX

drapel br
CFD

Am un fișier html care rulează pe un container docker cu această adresă URL: http://localhost:80 Vreau să redirecționez acest lucru către un alt port, cum ar fi http://localhost:8080 cu NGINX. Am următoarea configurație pentru el:

utilizator nginx;
worker_proceses auto;

error_log /var/log/nginx/error.log notificare;
pid /var/run/nginx.pid;

evenimente {
    conexiuni_muncitor 1024;
}

http {
    include mime.tipuri;
    sendfile activat;
    web în amonte {
    server 127.0.0.1:80;

}

    Server {
    asculta 8080;
    resolver 127.0.0.11;
    autoindex dezactivat;
    
    numele serverului _;
    server_tokens dezactivat;

    Locație / {
        proxy_pass http://web;
    }
}
}

dar când merg la http://localhost:8080, primesc 502 eroare de gateway greșită și iată eroarea pe care o primesc prin containerul nginx:

[eroare] 22#22: *1 connect() a eșuat (111: Conexiune refuzată) în timpul conectării la amonte, client: 172.17.0.1, server: _, cerere: „GET / HTTP/1.1”, amonte: „http:/ /127.0.0.1:80/", gazdă: "localhost:8080"

Iată cum îmi pornesc dockerul nginx:

rulare docker --name nginx -v c:/Users/ds-nginx-conf-main:/etc/nginx -p 8080:8080 -d nginx

aici este fișierul de compunere docker al containerului web sau containerul pre-excitant:

versiunea: "3.7"

Servicii:   
    web:
        construi: ui
        porturi:
          - 80:80
        depinde de:
          - api
    API:
        build: app
        mediu inconjurator:
          - PORT=80
        porturi:
          - 8020:80
    
    Test:
        construi:        
          context: ./
          dockerfile: ./test/Dockerfile
Puncte:1
drapel in

Procesele din interiorul unui container docker rulează în propriul spațiu de nume.

Fiecare container are propria sa interfață virtuală de loopback, care este separată de interfața de loopback a gazdei.

Dacă doriți să accesați un alt container din interiorul unui container, trebuie să legați aceste containere împreună.

docker run --link othercontainer...

Apoi puteți accesa primul container din al doilea container după numele său.

Alte opțiuni sunt crearea unei rețele în interiorul docker care este utilizată de ambele containere sau ca ambele containere să utilizeze rețeaua gazdă (ceea ce este de obicei descurajat deoarece crește suprafața de atac a containerului).

CFD avatar
drapel br
CFD
Am încercat să fac asta, dar primesc această eroare: $ docker run --link ds-ai-ocr-main_web_1 --name nginx -v c:/Users/ds-nginx-conf-main:/etc/nginx -p 8080:8080 -d nginx 81c9e792ee939c82e86454252d97dd46b0554fa6b244037fabb842898abd5d36 docker: Răspuns de eroare de la daemon: Nu se poate conecta la /ds-ai-ocr-main_web_1, deoarece nu aparține rețelei implicite.
drapel in
Se pare că primul tău container a fost creat cu docker-compose. Apoi, trebuie să reconfigurați primul container pentru a utiliza o rețea externă care poate fi partajată cu al doilea container.
CFD avatar
drapel br
CFD
Am adăugat docker compunerea la întrebare. Încerc să adaug asta la docker compunerea, dar primesc eroare: `rețele: Mod implicit: extern: adevărat`

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.