https://www.ruanyifeng.com/blog/2018/02/nginx-docker.html

    1. docker pull nginx

    预先创建一个容器,用来拷贝默认的配置文件

    docker run -d \
    -p 80:80 \
    -- name nginx \
    --rm \
    --volume /home/nginx/html:/usr/share/nginx/html \
    nginx
    

    映射网页目录和配置目录

    docker run \
      --name nginx \
      --volume /home/nginx/html:/usr/share/nginx/html \
      --volume /home/wuu/spider/novel/books:/home/wuu/spider/novel/books \
      --volume /home/nginx/conf:/etc/nginx \
      -p 80:80 \
      -d \
      nginx
    

    配置反向代理

    server {
        listen       80;
        listen  [::]:80;
        server_name  localhost;
    
        #access_log  /var/log/nginx/host.access.log  main;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    
        location ^~ /portainer/ {  # ^~/api 表示匹配前缀为api的请求
            proxy_pass  http://192.168.1.134:9000/;  # 注:proxy_pass的结尾有/, -> 效果:会在请求时将/api/*后面的路径直接拼接到后面
    
            proxy_set_header Host $proxy_host; # 改变请求头值 -> 转发到码云才会成功
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
        }
    
        location ^~ /baidu/ {
            proxy_pass  https://www.baidu.com/;
    
            proxy_set_header Host $proxy_host; # 改变请求头值 -> 转发到码云才会成功
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
    }