Docker 快速安裝&搭建 Ngnix 環境,並配置反向代理

歡迎關注個人微信公衆號: 小哈學Java, 文末分享阿里 P8 高級架構師吐血總結的 《Java 核心知識整理&面試.pdf》資源鏈接!!

個人網站: https://www.exception.site/docker/docker-install-nginx

本節中,我們將學習如何通過 Docker 快速安裝&搭建 Ngnix, 爲您的服務添加反向代理功能。

一、下載 Nginx 鏡像

docker pull nginx:alpine
PS:我這裏用的是 alipne 輕量級的鏡像.

下載完成後,通過 docker images 命令檢查一下鏡像是否下載成功:

檢查ngnix鏡像是否下載成功

二、先以簡單的方式運行鏡像

docker run -d --name nginx nginx:alpine
  • -d: 以後臺方式運行鏡像;
  • —name: 指定容器的名稱爲 nginx;

命令執行完成後,通過 docker ps命令確認一下容器是否啓動成功。確認成功後,再訪問一下 80 端口,看看 nginx 服務是否啓動成功:

nginx訪問成功

三、複製相關配置文件至宿主機

複製運行中 nginx 相關配置文件到宿主機的指定路徑下:

# 複製名稱爲 nginx 容器中 /etc/nginx/nginx.conf 文件夾到宿主機的 /docker/nginx 路徑下
docker cp nginx:/etc/nginx/nginx.conf /docker/nginx
# 複製名稱爲 nginx 容器中 /etc/nginx/conf.d 文件到宿主機的 /docker/nginx 路徑下
docker cp nginx:/etc/nginx/conf.d /docker/nginx

複製完成後,查看指定路徑的配置文件,如下:

四、修改 Nginx 配置文件,添加反向代理

先通過命令 ifconfig 命令獲取 docker0網卡的 ip 地址:

PS: 因爲我需要反向代理的服務部署在本機的 Docker 容器中,所以用的這個 IP,如果你用的外網其他地址,可自行修改。

接下來,在 conf.d/default.config 中添加反向代理相關配置:

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_pass http://172.17.0.1:8090;

五、刪除剛剛啓動的 Nginx 容器,新啓動一個

先刪除之前啓動的 nginx 容器:

docker rm -f nginx

成功後,回到配置文件的主目錄,執行:

docker run -d \ 
-p 80:80 \ 
--name nginx \
-v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /docker/nginx/conf.d:/etc/nginx/conf.d \
-v /docker/nginx/logs:/var/log/nginx \
nginx:alpine 

參數說明:

  • -p 80:80:將容器的 80 端口映射到主機的 80 端口;
  • -v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf:將容器中的 /etc/nginx/nginx.conf 文件掛載到宿主機中的 /docker/nginx/nginx.conf 文件;
  • -v /docker/nginx/conf.d:/etc/nginx/conf.d:將容器中 /etc/nginx/conf.d 目錄掛載到宿主機中的 conf.d 目錄下;
  • -v /docker/nginx/logs:/var/log/nginx:將容器中的 /var/log/nginx 目錄掛載到宿主機中的 /docker/nginx/logs 目錄下, 用以查看 Nginx 日誌;

運行命令成功後,直接訪問公網 IP 的 80 端口,看看是否能夠方向代理到 8090 端口的 Spring Boot 服務上:

訪問80端口,看方向代理是否成功

OK! 大工告成。

免費分享 | 面試&學習福利資源

最近在網上發現一個不錯的 PDF 資源《Java 核心知識&面試.pdf》分享給大家,不光是面試,學習,你都值得擁有!!!

獲取方式: 關注公衆號: 小哈學Java, 後臺回覆資源,既可免費無套路獲取資源鏈接,下面是目錄以及部分截圖:

關注微信公衆號【小哈學Java】,回覆【資源】,即可免費無套路領取資源鏈接哦

關注微信公衆號【小哈學Java】,回覆【資源】,即可免費無套路領取資源鏈接哦

關注微信公衆號【小哈學Java】,回覆【資源】,即可免費無套路領取資源鏈接哦

關注微信公衆號【小哈學Java】,回覆【資源】,即可免費無套路領取資源鏈接哦

關注微信公衆號【小哈學Java】,回覆【資源】,即可免費無套路領取資源鏈接哦

關注微信公衆號【小哈學Java】,回覆【資源】,即可免費無套路領取資源鏈接哦

重要的事情說兩遍,關注公衆號: 小哈學Java, 後臺回覆資源,既可免費無套路獲取資源鏈接 !!!

歡迎關注微信公衆號: 小哈學Java

關注微信公衆號【小哈學Java】,回覆【資源】,即可免費無套路領取資源鏈接哦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章