最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker容器下運(yùn)行Nginx并實(shí)現(xiàn)反向代理

 更新時(shí)間:2022年03月26日 09:27:33   作者:.NET開發(fā)菜鳥  
這篇文章介紹了Docker容器下運(yùn)行Nginx并實(shí)現(xiàn)反向代理的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、前言

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

二、運(yùn)行Nginx容器

1、獲取Nginx鏡像

要運(yùn)行容器,首先需要有相應(yīng)的鏡像,使用下面的命令拉取NGINX鏡像:

docker pull nginx

如圖所示

2、運(yùn)行Nginx容器

獲取Nginx鏡像之后,我們就可以根據(jù)鏡像來運(yùn)行容器

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

上面命令的解釋如下:

  • --name:設(shè)置容器的名稱。
  • -d:表示在后臺(tái)運(yùn)行容器。
  • -p:指定端口映射。4030是宿主機(jī)的端口,80是Nginx容器內(nèi)部的端口。
  • nginx:表示根據(jù)nginx鏡像運(yùn)行容器。

如圖所示

然后在瀏覽器里面訪問:

出現(xiàn)上面的截圖,就說明Nginx容器運(yùn)行成功。

三、運(yùn)行ASP.NET Core應(yīng)用程序

1、構(gòu)建ASP.NET Core應(yīng)用程序鏡像

我們在宿主機(jī)上面創(chuàng)建一個(gè)demo目錄,然后在創(chuàng)建一個(gè)ReverseProxy目錄,把發(fā)布后的項(xiàng)目上傳到ReverseProxy目錄下面

上傳項(xiàng)目后的目錄結(jié)構(gòu)

然后我們使用下面的命令創(chuàng)建鏡像

docker build -t reverseproxy .

上面命令的解釋:

  • -t:表示給鏡像起一個(gè)名字。

上面命令最后英文狀態(tài)的"."不能省略,表示在當(dāng)前目錄中查找Dockerfile文件。

執(zhí)行過程如下圖所示

執(zhí)行完成以后,我們就可以看到剛才創(chuàng)建的鏡像了

2、運(yùn)行應(yīng)用容器

創(chuàng)建完鏡像以后運(yùn)行容器

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

這里使用宿主機(jī)的9020端口映射到容器內(nèi)的80端口。 

如圖所示

從上圖中我們可以看到容器已經(jīng)在運(yùn)行了,我們在瀏覽器里面訪問,驗(yàn)證容器是否運(yùn)行成功

出現(xiàn)上圖所示的結(jié)果,表明容器運(yùn)行成功。

三、設(shè)置反向代理

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

反向代理實(shí)現(xiàn)如下的效果:在瀏覽器里面訪問4030端口的時(shí)候跳轉(zhuǎn)到9020端口,瀏覽器顯示ASP.NET Core應(yīng)用程序。

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

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

docker exec -it nginx /bin/bash

上面命令的解釋說明:

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

執(zhí)行過程如圖所示

上面的截圖中,我們使用ls查看,發(fā)現(xiàn)里面其實(shí)就是一個(gè)Linux操作系統(tǒng)。

Nginx默認(rèn)會(huì)安裝在etc目錄下面

然后進(jìn)入nginx目錄

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

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

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

docker inspect 容器名稱

如圖所示

我們會(huì)看到很多信息,這里只需要關(guān)注最后的網(wǎng)絡(luò)配置信息即可

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

因?yàn)槿萜魇莾?nèi)部訪問,所以設(shè)置的端口是80,而不是運(yùn)行容器時(shí)設(shè)置的9020端口。修改完成之后保存退出。

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

nginx -t

如圖所示

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

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

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

可以看到頁面被代理到了9020端口顯示的內(nèi)容。這樣就實(shí)現(xiàn)了反向代理。

到此這篇關(guān)于Docker容器下運(yùn)行Nginx并實(shí)現(xiàn)反向代理的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker?save與docker?export的區(qū)別

    docker?save與docker?export的區(qū)別

    docker?save和docker?export都能導(dǎo)出鏡像包,本文主要介紹了docker?save與docker?export的區(qū)別,試圖搞清楚docker?save和docker?export的功能是什么?適用于什么應(yīng)用場景?感興趣的可以了解一下
    2022-03-03
  • docker容器運(yùn)行后退出(怎么才能一直運(yùn)行)

    docker容器運(yùn)行后退出(怎么才能一直運(yùn)行)

    這篇文章主要介紹了docker容器運(yùn)行后退出(怎么才能一直運(yùn)行),本文詳細(xì)的介紹了解決方法,非常具有實(shí)用價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Docker-compose安裝的全過程

    Docker-compose安裝的全過程

    這篇文章主要介紹了Docker-compose安裝的全過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker之實(shí)現(xiàn)掛載的三種方式匯總

    Docker之實(shí)現(xiàn)掛載的三種方式匯總

    這篇文章主要介紹了Docker之實(shí)現(xiàn)掛載的三種方式匯總,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • docker如何打包前端并運(yùn)行完整步驟詳解

    docker如何打包前端并運(yùn)行完整步驟詳解

    這篇文章主要介紹了使用Vue3和Vite1開發(fā)前端項(xiàng)目的過程,包括項(xiàng)目啟動(dòng)、開發(fā)服務(wù)器運(yùn)行、構(gòu)建生產(chǎn)環(huán)境以及使用Docker部署,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • 使用Dockerfile構(gòu)建自定義鏡像的操作步驟

    使用Dockerfile構(gòu)建自定義鏡像的操作步驟

    Dockerfile 是構(gòu)建自定義 Docker 鏡像的核心工具之一,通過 Dockerfile,可以從基礎(chǔ)鏡像出發(fā),一步步構(gòu)建出符合項(xiàng)目需求的鏡像,本文將詳細(xì)介紹 Dockerfile 的基本指令及實(shí)際操作步驟,需要的朋友可以參考下
    2024-11-11
  • 物理機(jī)與啟動(dòng)的Docker容器間的目錄映射方式

    物理機(jī)與啟動(dòng)的Docker容器間的目錄映射方式

    這篇文章主要介紹了物理機(jī)與啟動(dòng)的Docker容器間的目錄映射方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • docker拉取烏班圖并且ssh連接方式

    docker拉取烏班圖并且ssh連接方式

    文章介紹了如何在Docker中拉取Ubuntu鏡像并使用SSH連接到容器,首先,確保容器正在運(yùn)行,然后使用`docker exec`進(jìn)入容器,接著,安裝并配置OpenSSH服務(wù)器,設(shè)置root密碼,并配置SSH允許root登錄,最后,映射端口以便從宿主機(jī)連接到容器的SSH服務(wù)
    2025-03-03
  • docker鏡像下載到本地并導(dǎo)入其他服務(wù)器方式

    docker鏡像下載到本地并導(dǎo)入其他服務(wù)器方式

    這篇文章主要介紹了docker鏡像下載到本地并導(dǎo)入其他服務(wù)器方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • docker的卷映射手動(dòng)指定位置的操作方法

    docker的卷映射手動(dòng)指定位置的操作方法

    Docker中手動(dòng)指定卷映射位置通過綁定掛載實(shí)現(xiàn),使用-v或--mount參數(shù),語法清晰,支持更多選項(xiàng),注意宿主機(jī)目錄存在性、權(quán)限和SELinux限制,本文介紹docker的卷映射手動(dòng)指定位置的操作方法,感興趣的朋友一起看看吧
    2025-02-02

最新評論

舞钢市| 安新县| 江北区| 旬阳县| 武胜县| 洛南县| 伽师县| 东港市| 长海县| 常熟市| 兴国县| 红安县| 咸宁市| 南溪县| 海宁市| 桂平市| 嘉兴市| 康平县| 扶风县| 时尚| 马关县| 英吉沙县| 北宁市| 中西区| 福海县| 南华县| 清丰县| 阿克苏市| 灵山县| 泊头市| 万全县| 揭阳市| 平度市| 湘西| 波密县| 宁远县| 红河县| 东丽区| 定陶县| 延庆县| 哈尔滨市|