一、下載nginx映象
官網地址:https://hub.docker.com/_/nginx
#下載映象 預設為最新版本
docker pull nginx
#下載指定版本
docker pull nginx:版本號
二、部署nginx(掛載部署)
1、#新建目錄,儲存nginx.conf檔案
cd home
mkdir nginx
2、#上傳nginx的配置檔案放置在此目錄下
3、掛載部署
docker run -d --restart=always -p 80:80 -p 81:81 --name nginx -v /home/nginx:/etc/nginx/conf.d nginx:lates
三、部署nginx(不掛載部署)
1、#部署nginx docker run -d --restart=always -p 80:80 -p 81:81 --name nginx nginx:latest
部署完畢之後,需要更改配置檔案,有兩種方式能更改,隨便採用其中一種就行
方法一:
1、上傳nginx的配置檔案,以/home/nginx為例
2、#先找到nginx的容器id
docker ps
3、拷貝nginx配置檔案進容器
sudo docker cp /home/nginx/nginx.conf e0e4fa116d85:/etc/nginx/conf.d/
#e0e4fa116d85 為nginx容器id
4、重啟nginx
docker restart nginx
方法二:
#進入nginx容器
docker exec -it nginx bash
nginx.conf配置檔案在 /etc/nginx/ 下面,但是你使用vim nginx.conf 或者vi nginx.conf會發現vi或者vim命令沒有用
解決辦法:apt-get update 完成之後 apt-get install vim
此時你就可以自己定製nginx.con檔案了,改好配置檔案之後重啟容器
備註:一般nginx的預設配置中會匯入 /etc/nginx/conf.d/ 資料夾下的字尾名為.conf 的配置檔案,
可以直接在 /etc/nginx/conf.d/ 目錄下新建自己的配置檔案也行,注意檔案的字尾名為.conf 。
四、nginx的配置檔案
由於沒法直接上傳檔案,我就直接貼上一段nginx.conf的樣例,根據自己需要更改即可,字尾名儲存為.conf
server { listen 81; location /aa-service/ { proxy_pass http://127.0.0.1:8082/; proxy_set_header Host $host; proxy_set_header Refer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 500M; } location /bb-service/ { proxy_pass http://127.0.0.1:8083/; proxy_set_header Host $host; proxy_set_header Refer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 500M; } }
listen為監聽的埠號,以81為例
location URL匹配特定位置後的設定,以/aa-service/,/bb-service/為例,分別轉發到http://127.0.0.1:8082/; 和 http://127.0.0.1:8083/;