溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker容器的四種端口映射怎么實現

發(fā)布時間:2022-04-14 09:06:52 來源:億速云 閱讀:493 作者:iii 欄目:開發(fā)技術

本文小編為大家詳細介紹“docker容器的四種端口映射怎么實現”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“docker容器的四種端口映射怎么實現”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

端口映射

  • 把容器的端口映射為宿主機的一個隨機或者特定端口,使用外部用戶可以訪問容器服務

  • 端口映射本是在容器底層做了 iptables 地址轉發(fā),出去的流量做 SNAT 源地址轉發(fā),進來的流量做 DNAT 目標地址轉發(fā)。

四種端口映射

  • 隨機端口映射:就是把容器的端口隨機映射為宿主機的一個端口。

  • 指定端口映射:就是把容器的端口映射為宿主機的指定端口。

  • 指定網卡隨機端口映射:就是把容器的端口映射為宿主機的指定網卡的隨機端口。

  • 指定網卡端口映射:就是把容器的端口映射為宿主機的指定網卡的指定端口。

端口映射演示

隨機端口映射(-P)

把 tomcat 容器 8080 的端口映射到宿主機的隨機端口

[root@docker ~]# docker run -itd -P tomcat:latest
fb8096ccc7866465f26ad41f98e4af53ce9a9ffa97f6036ed9314958c1cda457
#查看映射結果,容器 8080 端口映射到了宿主機的 32768 端口
[root@docker ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
fb8096ccc786        tomcat:latest       "catalina.sh run"   4 seconds ago       Up 3 seconds        0.0.0.0:32768->8080/tcp   nifty_shannon

指定端口映射(-p 宿主機端口:容器端口)

將 tomcat 容器的 8080 端口指定映射到宿主機的 8000 端口

[root@docker ~]# docker run -itd -p 8000:8080 tomcat
252ccaa33ebd731a56fa2d69da97183689fe59cc4059d2024ea39acc3c5f166f
#查看映射結果,容器 8080 端口映射到了宿主機的 8000 端口
[root@docker ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
252ccaa33ebd        tomcat              "catalina.sh run"   3 seconds ago       Up 3 seconds        0.0.0.0:8000->8080/tcp   trusting_archimedes

指定網卡隨機端口映射(-p ::)

將 tomcat 容器的 8080 端口映射到宿主機 ens33 網卡的隨機端口

[root@docker ~]# docker run -itd -p 192.168.117.130::8080 tomcat
1cd63859b18da311b4cd0a7e10d70d06f0fa0e933fcef71eaef00696f6131379
#查看映射結果,容器 8080 端口映射到了宿主機的192.168.117.130:32768 端口
[root@docker ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                             NAMES
1cd63859b18d        tomcat              "catalina.sh run"   57 seconds ago      Up 56 seconds       192.168.117.130:32768->8080/tcp   friendly_euclid

指定網卡指定端口映射(-p 宿主機IP:宿主機端口:容器端口)

將 tomcat 容器的 8080 端口映射到宿主機 ens33 網卡的 8000 端口

[root@docker ~]# docker run -itd -p 192.168.117.130:8000:8080 tomcat
a19f247a387bfa5cb5d65fe6b23a98676a879672ef002259882c14a113a19b7c
#查看映射結果,容器 8080 端口映射到了宿主機的192.168.117.130:8000端口
[root@docker ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                            NAMES
a19f247a387b        tomcat              "catalina.sh run"   22 seconds ago      Up 21 seconds       192.168.117.130:8000->8080/tcp   practical_wing

讀到這里,這篇“docker容器的四種端口映射怎么實現”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI