【问题标题】:Nginx multiple server ports configuration with docker使用 docker 配置 Nginx 多服务器端口
【发布时间】:2018-12-31 10:03:32
【问题描述】:

我有一个本地 Nginx 安装,它使用自定义配置文件将不同的服务和 Web 应用程序路由到单个端口。

Nginx 配置文件类似于:

server {
        listen       8080;
        server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
    }

    location /api/login {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server %host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8181;
        client_max_body_size 10M;
    }

    location /api/accountopening {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server %host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8282;
        client_max_body_size 10M;
    }
...

我正在尝试对 DockerHub 中的 DockerNginx 官方图像做同样的事情,但我做不到。
在他们的文档中,他们说我应该这样做:

docker run --name cor-nginx \
           -v ~/dev/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
           -d \
           -p 8080:80 nginx

创建一个卷并指定一个自定义配置文件,但目前没有结果。

有没有人做过类似的事情?

提前非常感谢!

【问题讨论】:

  • 可以发布 docker inspect 的输出吗?

标签: docker nginx volume ports


【解决方案1】:

请执行到您的Nginx 容器并检查配置文件的路径是否有效

我认为你通过了错误的路径,默认是:/etc/nginx/conf.d

另外,您应该使用 Dockerfile 来构建您更改的映像,这比将选项作为参数传递给 Docker 更好、更清晰。 您还应该删除现有的 - 默认 Nginx 配置。

我认为这对你很有帮助:

how to run nginx docker container with custom config?

【讨论】:

  • 非常感谢您的回复。我现在在容器中得到了正确的配置,尽管我无法做我想做的事。我什至现在都不知道通过我的 nginx 容器代理在我的主机中运行的服务是否有意义
猜你喜欢
  • 2021-08-20
  • 2021-05-10
  • 1970-01-01
  • 1970-01-01
  • 2015-07-29
  • 2017-05-12
  • 2020-02-18
  • 1970-01-01
  • 2018-07-09
相关资源
最近更新 更多