我在使用docker nginx和gunicorn部署django项目时遇到问题

问题描述 投票:0回答:1

如果我在服务器端运行了容器,并且一切正常,为了在浏览器上访问路由,我应该将具有域的nginx容器的ip放在etc / host中,否则它必须工作?我的nginx.config

server {

    listen 80;

    server_name my_domain;

    root /code/;
    error_log /var/log/nginx/new_error.log debug;


    location / {
        proxy_pass http://web:8000/;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_redirect off;
    }

    location /staticfiles/ {
        alias /code/staticfiles/;
    }

    location /mediafiles/ {
        alias /code/mediafiles/;
    }

}

Web是我的运行gunicorn的docker-container

django docker nginx gunicorn
1个回答
0
投票

如果您的nginx容器具有使用标志-p <host_port>:<container_port>公开的端口,则可以访问nginx服务,在/ etc / hosts文件中添加指向localhost ip的域,但是,如果您不使用此标志,需要指向您的nginx容器的IP。有什么区别?...公开端口时,即使在容器所在的主机之外也可以使用该服务。

© www.soinside.com 2019 - 2024. All rights reserved.