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

标签 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

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

有人做过类似的事情吗?

在此先多谢!

最佳答案

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

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

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

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

how to run nginx docker container with custom config?

关于docker - Nginx使用Docker配置多个服务器端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51487491/

相关文章:

Django 仅提供索引页面,其他所有页面均为 404

django - 为gunicorn创建supervisord脚本的正确方法? Django 1.6

c++ - 可视化 PCM 样本的体积

c++ - DirectSound:如何改变麦克风的输入音量?

nginx - nginx是否读取/etc/nginx/sites-available/文件夹下的所有文件

python - 测量音频 "loudness": RMS vs. LUFS

apache - 如何为 Docker Apache httpd 服务器启用 CORS?

spring-boot - 如何在运行Spring Boot应用程序的kubernetes中使用在localhost上运行的服务器的端口

php - Docker 容器上的应用程序之间的 Curl 连接被拒绝

mysql容器坏了,如何恢复数据?