# docker运行nginx ## 获取镜像 ``` sudo docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.27.0 sudo docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.27.0 docker.io/nginx:1.27.0 sudo docker rmi swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.27.0 ``` ## 启动镜像 获取默认配置文件 ``` sudo docker run -d --name nginx-temp nginx:1.27.0 sudo docker cp nginx-temp:/etc/nginx ~/data/ # 停止并删除容器 sudo docker stop nginx-temp sudo docker rm nginx-temp ``` 启动容器 ``` sudo docker run -d \ --name nginx \ -v ~/data/nginx:/etc/nginx \ --network host \ --restart unless-stopped \ nginx:1.27.0 ``` 更新配置 ``` sudo vi ~/data/nginx/conf.d/default.conf sudo docker exec nginx nginx -t # 在nginx容器内执行nginx -t检查配置语法 sudo docker exec nginx nginx -s reload # 重新加载配置 ``` ### 配置代理 路径代理 ``` location /uri { alias /path; index index.html; try_files $uri $uri/ /uri/; } ``` 端口代理 ``` location /uri/ { proxy_pass http://127.0.0.1:port/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } ```