日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 一、前言
  • 二、運行Nginx容器
    • 1、獲取Nginx鏡像
    • 2、運行Nginx容器
  • 三、運行ASP.NET Core應用程序
    • 1、構建ASP.NET Core應用程序鏡像
    • 2、運行應用容器
  • 三、設置反向代理

    一、前言

    我們知道,為了安全考慮,我們一般會設置反向代理,用來屏蔽應用程序真實的IP和端口號。在Linux系統上最常用的反向代理就是Nginx。本篇文章中,我們會通過Docker容器分別運行一個Nginx容器和一個ASP.NET Core應用程序的容器,然后設置反向代理。

    二、運行Nginx容器

    1、獲取Nginx鏡像

    要運行容器,首先需要有相應的鏡像,使用下面的命令拉取NGINX鏡像:

    docker pull nginx

    如圖所示

    Docker容器下運行Nginx并實現反向代理

    2、運行Nginx容器

    獲取Nginx鏡像之后,我們就可以根據鏡像來運行容器

    docker run --name=nginx -d -p 4030:80 nginx

    上面命令的解釋如下:

    • –name:設置容器的名稱。
    • -d:表示在后臺運行容器。
    • -p:指定端口映射。4030是宿主機的端口,80是Nginx容器內部的端口。
    • nginx:表示根據nginx鏡像運行容器。

    如圖所示

    Docker容器下運行Nginx并實現反向代理

    然后在瀏覽器里面訪問:

    Docker容器下運行Nginx并實現反向代理

    出現上面的截圖,就說明Nginx容器運行成功。

    三、運行ASP.NET Core應用程序

    1、構建ASP.NET Core應用程序鏡像

    我們在宿主機上面創建一個demo目錄,然后在創建一個ReverseProxy目錄,把發布后的項目上傳到ReverseProxy目錄下面

    Docker容器下運行Nginx并實現反向代理

    上傳項目后的目錄結構

    Docker容器下運行Nginx并實現反向代理

    然后我們使用下面的命令創建鏡像

    docker build -t reverseproxy .

    上面命令的解釋:

    • -t:表示給鏡像起一個名字。

    上面命令最后英文狀態的"."不能省略,表示在當前目錄中查找Dockerfile文件。

    執行過程如下圖所示

    Docker容器下運行Nginx并實現反向代理

    執行完成以后,我們就可以看到剛才創建的鏡像了

    Docker容器下運行Nginx并實現反向代理

    2、運行應用容器

    創建完鏡像以后運行容器

    docker run --name=reverseproxy -d -p 9020:80 reverseproxy

    這里使用宿主機的9020端口映射到容器內的80端口。 

    如圖所示

    Docker容器下運行Nginx并實現反向代理

    從上圖中我們可以看到容器已經在運行了,我們在瀏覽器里面訪問,驗證容器是否運行成功

    Docker容器下運行Nginx并實現反向代理

    出現上圖所示的結果,表明容器運行成功。

    三、設置反向代理

    在上面的步驟中,我們分別運行了nginx容器和ASP.NET Core應用程序的容器,并且都可以在瀏覽器里面訪問,下面我們來設置反向代理。

    反向代理實現如下的效果:在瀏覽器里面訪問4030端口的時候跳轉到9020端口,瀏覽器顯示ASP.NET Core應用程序。

    配置反向代理,我們需要修改Nginx的配置文件。在Nginx的配置文件里面設置反向代理的HTTP地址。

    要修改Nginx的配置文件,首先需要進入Nginx容器里面,使用下面的命令進入容器里面

    docker exec -it nginx /bin/bash

    上面命令的解釋說明:

    • -it:表示分配一個偽終端。
    • nginx:表示容器的名稱,這里也可以使用容器ID。
    • /bin/bash:表示對容器執行bash操作。

    執行過程如圖所示

    Docker容器下運行Nginx并實現反向代理

    上面的截圖中,我們使用ls查看,發現里面其實就是一個Linux操作系統。

    Docker容器下運行Nginx并實現反向代理

    Nginx默認會安裝在etc目錄下面

    Docker容器下運行Nginx并實現反向代理

    然后進入nginx目錄

    Docker容器下運行Nginx并實現反向代理

    我們看到了nginx.conf配置文件,需要在這個配置文件里面設置反向代理。我們使用vim命令編輯nginx.conf文件:

    Docker容器下運行Nginx并實現反向代理

    我們看最后紅框里面的內容,表示使用的是conf.d目錄下面的conf文件進行配置。我們進入conf.d目錄下面,然后編輯default.conf文件。

    要配置反向代理,我們首先需要知道要代理的程序的IP地址,所以在修改配置之前,我們首先需要獲取reverseproxy容器的IP地址。

    docker inspect 容器名稱

    如圖所示

    Docker容器下運行Nginx并實現反向代理

    我們會看到很多信息,這里只需要關注最后的網絡配置信息即可

    Docker容器下運行Nginx并實現反向代理

    獲取到了容器的IP地址以后,我們就可以配置反向代理了。default.conf文件

    Docker容器下運行Nginx并實現反向代理

    因為容器是內部訪問,所以設置的端口是80,而不是運行容器時設置的9020端口。修改完成之后保存退出。

    我們可以使用下面的命令檢查一下修改后的配置文件是否有錯:

    nginx -t

    如圖所示

    Docker容器下運行Nginx并實現反向代理

    如果修改的配置文件沒有錯誤,則退出容器。如果修改的配置文件有錯誤,要改正錯誤,然后退出容器。

    由于我們修改了配置,所以需要重新運行容器,以便配置生效。

    Docker容器下運行Nginx并實現反向代理

    然后我們在瀏覽器里面訪問4030端口

    Docker容器下運行Nginx并實現反向代理

    可以看到頁面被代理到了9020端口顯示的內容。這樣就實現了反向代理。

    到此這篇關于Docker容器下運行Nginx并實現反向代理的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持。

    分享到:
    標簽:Docker 代理 容器 服務器 運行
    用戶無頭像

    網友整理

    注冊時間:

    網站:5 個   小程序:0 個  文章:12 篇

    • 51998

      網站

    • 12

      小程序

    • 1030137

      文章

    • 747

      會員

    趕快注冊賬號,推廣您的網站吧!
    最新入駐小程序

    數獨大挑戰2018-06-03

    數獨一種數學游戲,玩家需要根據9

    答題星2018-06-03

    您可以通過答題星輕松地創建試卷

    全階人生考試2018-06-03

    各種考試題,題庫,初中,高中,大學四六

    運動步數有氧達人2018-06-03

    記錄運動步數,積累氧氣值。還可偷

    每日養生app2018-06-03

    每日養生,天天健康

    體育訓練成績評定2018-06-03

    通用課目體育訓練成績評定