Dockerfile EXPOSE有什麼用?

2022-03-15 17:20:34 字數 578 閱讀 7024

expose 的用途:

1、在dockerfile中宣告了那些埠是將要開放的。

2、在構建容器時通過 -p (大寫的p)可以隨機對映埠。(如果expose沒有指定埠,那麼使用 -p 引數無效)

準確來說 dockerfile 中的 expose用處不大!原因:

1、真正的暴露埠是在建立容器 run 的時候指定的 -p 或者 -p 引數,先來說說 -p 引數後面跟的是【主機埠:容器埠】,那麼問題就來了既然在執行的時候還需要指定埠那麼 expose還要什麼用呢!

2、當我們建立容器 run 的時候指定引數是 -p,那麼在執行之後 會把 expose 的埠隨機對映到主機的不同埠,這時問題又來了既然對映到不同的埠那麼容器的埠就是是隨機的不確定的,那就要在執行之後才能知道埠,這樣使用起來是極其不便的。

本著存在即合理的想法來解釋一下expose的真正用途:

expose可以不用但是不能沒有,因為 dockerfile 不一定是乙個人維護的,或者說當下乙個運維人員接手專案之後能夠通過 dockerfile 裡面的引數掌握整體的邏輯,一切還是為了規範。

Dockerfile EXPOSE指令 語法解析

docker容器啟動後,需要宿主機和容器埠進行對映,以便容器內服務對外暴露,這可以在啟動是通過docker run p host port 指定,也可以在映象構建時通過dockerfile的expose指令指定,本文本來具體對expose指令進行解析。expose 語法 expose expose ...

python有什麼內容 python有什麼用處

python用法居然這麼多?每種程式語言都有它適用的領域,python也不例外。接下來,博主會用開發的一些具體的專案來介紹python到底能做些什麼.網路爬蟲 用python爬取王者榮耀全英雄高畫質桌布 爬蟲主要用到的庫 requests 傳送網路請求 beautifulsoup4 網頁文件解析 c...

儲存過程是什麼?有什麼用?有什麼

儲存過程 stored procedure 是一組為了完成特定功能的 sql 語句集,經編譯後存 儲在資料庫中。使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執 行它。儲存過程是 sql 語句和可選控制流語句的預編譯集合,以乙個名稱儲存並作為乙個 單元處理。儲存過程儲存在資料庫內...