Docker 端口映射詳細介紹
Docker 端口映射:
最近抽空,把Docker 端口映射的資料整理了一下,以便后續(xù)項目應用,大家也可以參考下。
# Find IP address of container with ID <container_id> 通過容器 id 獲取 ip $ sudo docker inspect <container_id> | grep IPAddress | cut -d '"' -f 4
無論如何,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機是訪問不到的。此外,除了端口只能本地訪問外,對于容器的另外一個問題是這些 ip 在容器每次啟動的時候都會改變。
Docker 解決了容器的這兩個問題,并且給容器內部服務的訪問提供了一個簡單而可靠的方法。Docker 通過端口綁定主機系統(tǒng)的接口,允許非本地客戶端訪問容器內部運行的服務。為了簡便的使得容器間通信,Docker 提供了這種連接機制。
5.1 自動映射端口
-P使用時需要指定--expose選項,指定需要對外提供服務的端口
$ sudo docker run -t -P --expose 22 --name server ubuntu:14.04
使用docker run -P自動綁定所有對外提供服務的容器端口,映射的端口將會從沒有使用的端口池中 (49000..49900) 自動選擇,你可以通過docker ps、docker inspect <container_id>或者docker port <container_id> <port>確定具體的綁定信息。
5.2 綁定端口到指定接口
基本語法
$ sudo docker run -p [([<host_interface>:[host_port]])|(<host_port>):]<container_port>[/udp] <image> <cmd>
默認不指定綁定 ip 則監(jiān)聽所有網(wǎng)絡接口。
綁定 TCP 端口
# Bind TCP port 8080 of the container to TCP port 80 on 127.0.0.1 of the host machine. $ sudo docker run -p 127.0.0.1:80:8080 <image> <cmd> # Bind TCP port 8080 of the container to a dynamically allocated TCP port on 127.0.0.1 of the host machine. $ sudo docker run -p 127.0.0.1::8080 <image> <cmd> # Bind TCP port 8080 of the container to TCP port 80 on all available interfaces of the host machine. $ sudo docker run -p 80:8080 <image> <cmd> # Bind TCP port 8080 of the container to a dynamically allocated TCP port on all available interfaces $ sudo docker run -p 8080 <image> <cmd>
綁定 UDP 端口
# Bind UDP port 5353 of the container to UDP port 53 on 127.0.0.1 of the host machine. $ sudo docker run -p 127.0.0.1:53:5353/udp <image> <cmd>
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Spring Boot應用通過Docker發(fā)布部署的流程分析
將Spring Boot項目部署到docker中有兩種方法,手動部署和插件部署,本文通過實例代碼介紹了idea創(chuàng)建spring boot項目的詳細過程,感興趣的朋友一起看看吧2021-09-09
使用docker的python基礎鏡像時要指定patch版本原理
這篇文章主要為大家介紹了使用docker的python基礎鏡像時要指定patch版本原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10
Docker+Jenkins+Gitee自動化部署maven項目的實現(xiàn)
本文主要介紹了Docker+Jenkins+Gitee自動化部署maven項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06
使用Maven和遠程Docker基于Dockerfile構建SpringBoot應用鏡像
本文重點給大家介紹使用Maven和遠程Docker基于Dockerfile構建SpringBoot應用鏡像的相關操作,感興趣的朋友跟隨小編一起看看吧2024-06-06
Docker容器的調試技巧之docker logs與docker service logs
這篇文章主要介紹了Docker容器的調試技巧之docker logs與docker service logs,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01

