Score:0

Nginx docker container doesn't accept request

ru flag

I am trying to run a Nginx web server on a docker container. What I have done:

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

Then docker ps shows the container is running. Also tesing nginx is up:

$ docker exec -it nginx1 bash
root@...:/# service nginx status
[ ok ] nginx is running.
root@...:/# curl http://localhost:8080/

{Shows the content of html file located on /etc/nginx/html/index.html}

root@...:/# exit
exit
$ curl http://localhost:8080/

{Just loads and nothing happens} <- This is my problem

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         ESTABLISHED 3776/docker-proxy   
tcp6       0      0 :::8080                 :::*                    LISTEN      3783/docker-proxy   

I'm on fedora 34. Also running Nginx on my system (Not docker) on the same port works ok.

My /etc/nginx/nginx.conf:

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$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  main;

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

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

    server {
        listen 8080;
    }

}

The last one in the bottom is the relevant server.

th flag
You can't run nginx on the host and port forward the same port into docker.
np flag
any relevant output from "docker logs nginx1" ?
amirali avatar
ru flag
@Own3r Nothing special. 4 times `root@...:/#`.
np flag
do you get the same behavior with curl http://127.0.0.1:8080/ ?
co flag
Maybe the routed to the docker-network are only present for "root"?
Score:0
in flag

The nginx image is exposing the port 80, not 8080.

docker run -d -p 8080:80 --name nginx1 nginx
amirali avatar
ru flag
This isn't working either. I also have a simple server config listening to port 8080. You can see `curl http://localhost:8080/` works on the container bash but not on my system.
in flag
Then please provide all relevant parts of your configuration. Your question shows nothing but an unmodified nginx container.
Score:0
ru flag

Firewall was the problem. On fedora:

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

On others it may be:

sudo ufw allow 8080
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.