首頁  >  文章  >  運維  >  docker為什麼要連接埠映射

docker為什麼要連接埠映射

WBOY
WBOY原創
2022-08-23 17:52:374171瀏覽

因為docker容器在運作的時候,如果不指定連接埠對映參數,在容器外部是無法透過網路來存取容器內的網路應用的服務的,所以需要進行docker埠對映的設定;docker透過連接埠綁定主機系統的接口,允許非本地客戶端存取容器內部運行的服務。

docker為什麼要連接埠映射

本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。

docker為什麼要連接埠對映

doker是一個開源的應用程式容器引擎,說簡單一點就是可以打包程式和運作環境,把環境和程式一起發布的容器。當你需要發布程式時,你可以使用doker將運行環境一起發布,其他人拿到你的程式後,可以直接運行,避免出現一次編譯到處調試的尷尬局面。

說的再直白一點,doker的出現主要是為了解決,在我的機器上是正常的,為什麼到你的機器上就不正常了的問題。 Docker容器有運作、已暫停、重新啟動、已退出四種狀態。

為什麼要進行doker連接埠對映?

docker容器在運作的時候,如果不指定連接埠對映參數(不配置宿主機器與虛擬機器的連接埠對映),在容器外部是無法透過網路來存取容器內的網路應用和服務的(外部程式是無法存取虛擬機器的,因為沒有連接埠)。為了解決這個問題,就需要進行doker連接埠對映的設定。

docker透過連接埠綁定主機系統的接口,允許非本機客戶端存取容器內部運行的服務。為了簡單的使得容器間通信,docker提供了這個連接機制。

docker的兩種常見的連接埠對映方式

#自動對應埠

  -P使用时需要指定--expose选项,指定需要对外提供服务的端口
  $ sudo docker run -t -P --expose 22 --name server ubuntu:14.04

  使用docker run -P自動綁定所有對外提供服務的容器端口,映射的端口將會從沒有使用的端口池中(49000..49900)自動選擇,你可以透過docker ps,docker inspect 或者docker port 確定具體的綁定資訊。

綁定連接埠到指定介面

  基本語法

  $ sudo docker run -p [([:[host_port]])|():] [/ udp]

  預設不指定綁定ip則監聽所有網路介面。

推薦學習:《docker影片教學

以上是docker為什麼要連接埠映射的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn