當前位置:首頁 » 文件傳輸 » dockernginx訪問失敗
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

dockernginx訪問失敗

發布時間: 2023-07-15 20:12:12

『壹』 基於 Docker 安裝 Nginx,啟動運行,外網訪問,映射配置文件

基於 Docker 安裝 Nginx
查找Nginx鏡像
語法:docker search nginx
示例:

獲取Nginx鏡像

示例:

啟動nginx容器實例

說明:--name nginx nginx 第一個nginx是通過--name指定的nginx容器實例的名稱,另一個nginx表示nginx倉庫的名稱。

查看nginx容器實例的進程信息

通過ps -ef | grep nginx查看

進入nginx容器內

殺死nginx容器實例

停止nginx實例

啟動nginx容器實例

重啟nginx容器實例

移除nginx容器實例

案例
暴露外部埠
基於docker run -d --name nginx nginx方法啟動nginx後,Docker 容器並沒有對外暴露訪問的埠,即無法通過當前主機外部瀏覽器器訪問nginx。那麼該怎麼樣呢?

語法:

-p 80:80:通過-p來指定Docker容器中nginx實例對外開放的埠。本例中,第一個80埠是對外開放的埠,第二個80埠指對外開放的埠映射到容器里的埠號。

示例:

通過當前主機外的瀏覽器訪問nginx,如下圖:

指定外部的配置文件
語法:

說明:
-v: 表示掛載一個本機目錄或文件到容器里。
-v /develop/nginx/nginx.conf:/etc/nginx/nginx.conf:將/develop/nginx/nginx.conf配置文件掛載到容器中/etc/nginx/nginx.conf這個配置文件中。
-v /develop:/develop:將/develop這個目錄掛載到容器里的/develop這個目錄里。

示例:

注意事項:指定外部配置文件,同時需要指定nginx的首頁面,否則會拋出404錯誤,原因就是因為nginx找不到配置文件中默認的index頁面。
本例中,使用/develop/apps/static/index.html替代了容器里的nginx默認的index頁面,同時,-v /develop:/develop掛載根目錄即可訪問子目錄。

指定網路模式:--net=bridge 默認模式

其中8080是指主機的埠,而80是指容器的埠
我們先看一下埠的狀態

docker是運行在Linux上的,在Windows中運行docker,實際上還是在Windows下先安裝了一個Linux環境,然後在這個系統中運行的docker。也就是說,服務中使用的localhost指的是這個Linux環境的地址,而不是我們的宿主環境Windows。我們可以通過命令:

找到這個Linux的ip地址,一般情況下這個地址是192.168.99.100,然後在Windows的瀏覽器中,輸入這個地址,加上服務的埠即可啟用了。