Puncte:0

Containerul docker Nginx nu acceptă cererea

drapel ru

Încerc să rulez un server web Nginx pe un container docker. Ce am facut:

$ docker pull nginx
$ docker run -d -p 8080:8080 --name nginx1 nginx

Atunci docker ps arată că containerul rulează. De asemenea, testarea nginx este în curs:

$ docker exec -it nginx1 bash
root@...:/# starea serviciului nginx
[ ok ] nginx rulează.
root@...:/# curl http://localhost:8080/

{Afișează conținutul fișierului html situat pe /etc/nginx/html/index.html}

root@...:/# ieșire
Ieșire
$ curl http://localhost:8080/

{Doar se încarcă și nu se întâmplă nimic} <- Aceasta este problema mea

Netstat:

tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 3776/docker-proxy   
tcp 0 1 172.17.0.1:36684 172.17.0.2:8080 SYN_SENT 3776/docker-proxy   
tcp 79 0 127.0.0.1:8080 127.0.0.1:41674 CLOSE_WAIT 3776/docker-proxy   
tcp 0 1 172.17.0.1:36682 172.17.0.2:8080 SYN_SENT 3776/docker-proxy   
tcp 555 0 127.0.0.1:8080 127.0.0.1:41672 STABILIT 3776/docker-proxy   
tcp6 0 0 :::8080 :::* ASCULTĂ 3783/docker-proxy   

Sunt pe fedora 34. De asemenea, rulează Nginx pe sistemul meu (Nu docker) pe același port funcționează ok.

Ale mele /etc/nginx/nginx.conf:

# Pentru mai multe informații despre configurare, consultați:
# * Documentație oficială în limba engleză: http://nginx.org/en/docs/
# * Documentație oficială rusă: http://nginx.org/ru/docs/

utilizator nginx;
worker_proceses auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Încărcați module dinamice. Consultați /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

evenimente {
    conexiuni_muncitor 1024;
}

http {
    log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log principal;

    sendfile activat;
    tcp_nopush activat;
    tcp_nodelay activat;
    keepalive_timeout 65;
    types_hash_max_size 4096;

    includ /etc/nginx/mime.types;
    aplicație de tip_default/octet-stream;

    # Încărcați fișierele de configurare modulare din directorul /etc/nginx/conf.d.
    # Consultați http://nginx.org/en/docs/ngx_core_module.html#include
    # pentru mai multe informatii.
    includ /etc/nginx/conf.d/*.conf;

    Server {
        asculta 80;
        asculta [::]:80;
        numele serverului  _;
        root /usr/share/nginx/html;

        # Încărcați fișierele de configurare pentru blocul de server implicit.
        includ /etc/nginx/default.d/*.conf;

        pagina de eroare 404 /404.html;
        locație = /404.html {
        }

        pagina_eroare 500 502 503 504 /50x.html;
        locație = /50x.html {
        }
    }

    Server {
        asculta 8080;
    }

}

Ultimul din partea de jos este serverul relevant.

drapel th
Nu puteți rula nginx pe gazdă și redirecționați același port în docker.
drapel np
orice ieșire relevantă din „docker logs nginx1”?
amirali avatar
drapel ru
@Own3r Nimic special. De 4 ori `rădăcină@...:/#`.
drapel np
ai același comportament cu curl http://127.0.0.1:8080/?
drapel co
Poate că direcționate către rețeaua docker sunt prezente doar pentru „rădăcină”?
Puncte:0
drapel in

Imaginea nginx expune portul 80, nu 8080.

docker run -d -p 8080:80 --name nginx1 nginx
amirali avatar
drapel ru
Nici asta nu merge. De asemenea, am o configurare simplă a serverului care ascultă portul 8080. Puteți vedea că `curl http://localhost:8080/` funcționează pe container bash, dar nu și pe sistemul meu.
drapel in
Apoi vă rugăm să furnizați toate părțile relevante ale configurației dvs. Întrebarea dvs. nu arată altceva decât un container nginx nemodificat.
Puncte:0
drapel ru

Firewall a fost problema. Pe fedora:

sudo firewall-cmd --zone=dmz --add-port=8080/tcp

Pe altele poate fi:

sudo ufw permit 8080

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.