欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、前言

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

二、運行Nginx容器

1、獲取Nginx鏡像

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

docker pull nginx

如圖所示

2、運行Nginx容器

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

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

上面命令的解釋如下:

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

如圖所示

然后在瀏覽器里面訪問:

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

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

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

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

上傳項目后的目錄結構

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

docker build -t reverseproxy .

上面命令的解釋:

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

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

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

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

2、運行應用容器

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

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

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

如圖所示

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

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

三、設置反向代理

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

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

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

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

docker exec -it nginx /bin/bash

上面命令的解釋說明:

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

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

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

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

然后進入nginx目錄

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

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

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

docker inspect 容器名稱

如圖所示

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

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

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

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

nginx -t

如圖所示

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

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

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

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

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

相關文章

  • 詳解Docker鏡像的基本操作方法

    詳解Docker鏡像的基本操作方法

    這篇文章主要介紹了Docker鏡像的基本操作方法,主要包括獲取鏡像和運行鏡像的相關知識,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Docker安裝Minio+SpringBoot上傳下載文件方式

    Docker安裝Minio+SpringBoot上傳下載文件方式

    本文主要介紹了如何通過Docker安裝Minio并進行訪問測試,同時也講解了如何在SpringBoot中上傳文件到Minio,內(nèi)容包含了pom文件引入依賴,application.properties配置,Minio配置,MinioClinet,FileService,FileServiceImpl的配置
    2024-10-10
  • Docker鏡像分層的原理詳解

    Docker鏡像分層的原理詳解

    這篇文章主要介紹了Docker鏡像分層的原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Docker數(shù)據(jù)卷常用操作代碼實例

    Docker數(shù)據(jù)卷常用操作代碼實例

    這篇文章主要介紹了Docker數(shù)據(jù)卷常用操作代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Docker Redis 7.2.3 部署方式

    Docker Redis 7.2.3 部署方式

    使用Docker啟動Redis時若遇到不斷重啟的問題,可能是由于配置文件中的“daemonize yes”與Docker的重啟策略“--restart=always”發(fā)生沖突,本文給大家介紹Docker Redis 7.2.3 部署方式,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • 在docker中部署并啟動redis的方法

    在docker中部署并啟動redis的方法

    這篇文章主要介紹了在docker中部署并啟動redis的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 使用DockerFile構建docker鏡像掛載目錄,數(shù)據(jù)卷同步問題

    使用DockerFile構建docker鏡像掛載目錄,數(shù)據(jù)卷同步問題

    這篇文章主要介紹了使用DockerFile構建docker鏡像掛載目錄,數(shù)據(jù)卷同步問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Linux系統(tǒng)通過Docker安裝SQL?Server數(shù)據(jù)庫

    Linux系統(tǒng)通過Docker安裝SQL?Server數(shù)據(jù)庫

    這篇文章介紹了Linux系統(tǒng)通過Docker安裝SQL?Server數(shù)據(jù)庫的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • win10安裝docker及遇到的坑及解決

    win10安裝docker及遇到的坑及解決

    這篇文章主要介紹了win10安裝docker及遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • docker啟動容器服務后訪問失敗的解決方案

    docker啟動容器服務后訪問失敗的解決方案

    初學Docker容器的基本操作,拉取了tomcat鏡像,輸入運行容器命令運行容器一系列操作都沒有問題,但是在瀏覽器訪問端口時卻訪問不到,下面這篇文章主要給大家介紹了關于docker啟動容器服務后訪問失敗的解決方案,需要的朋友可以參考下
    2023-05-05

最新評論