Nginx使用Docker配置多个服务器端口

时间:2018-07-23 21:33:04

标签: docker nginx volume ports

我有一个本地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

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

有人做过类似的事情吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

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

我认为您输入的路径错误,默认为:/etc/nginx/conf.d

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

我认为这对您有很大帮助:

how to run nginx docker container with custom config?