亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker容器啟動(dòng)后添加端口映射

 更新時(shí)間:2018年06月22日 14:29:50   作者:患恐高癥的小鳥(niǎo)  
這篇文章主要介紹了docker容器啟動(dòng)后添加端口映射,,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

概要

網(wǎng)上有許多人在查找關(guān)于容器啟動(dòng)后能否進(jìn)行端口映射的問(wèn)題。我曾經(jīng)也問(wèn)過(guò)度娘,很遺憾我沒(méi)找到。本文就這個(gè)問(wèn)題給出一個(gè)解決方法,旨在拋磚引玉。本文的思路是使用iptables的端口轉(zhuǎn)發(fā),這也是docker端口映射內(nèi)部的實(shí)現(xiàn)機(jī)制,只不過(guò)我是顯示地寫出來(lái)罷了,為的就是讓查找這個(gè)問(wèn)題的人對(duì)docker的端口映射有一個(gè)直觀的了解。

結(jié)論:容器啟動(dòng)后是可以添加端口映射的,但不建議手工添加,最好使用docker提供的功能。

步驟

創(chuàng)建兩個(gè)容器并進(jìn)行了端口映射,結(jié)果如圖所示:

假如,我start一個(gè)容器,其內(nèi)部IP為172.17.0.5,并在容器內(nèi)部啟動(dòng)了80端口。

FORWARD規(guī)則鏈我們不用管它,docker已經(jīng)幫我們寫好了,我們只需要關(guān)心NAT中的幾條鏈即可。

查看NAT表中的PREROUTING鏈

從上面可以看出,iptables將滿足條件的數(shù)據(jù)都轉(zhuǎn)發(fā)到了DOCKER鏈上去了。

查看NAT表中的DOCKER鏈

仿照上圖,我們添加一條自己的映射規(guī)則,將宿主的8082端口映射到172.17.0.5的80端口上去,規(guī)則如下:

iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 8082 -j DNAT --to-destination 172.17.0.5:80

查看NAT表中的POSTROUTING鏈

仿照上圖中的規(guī)則,書寫的規(guī)則如下:

iptables -t nat -A POSTROUTING -s 172.17.0.5/32 -d 172.17.0.5/32 -p tcp -m tcp --dport 80 -j MASQUERADE

查看FILTER表中的DOCKER鏈

仿照上圖書寫規(guī)則如下:

 iptables -t filter -A DOCKER -d 172.17.0.5/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 80 -j ACCEPT

結(jié)果

雖然IP為172.17.0.5的容器沒(méi)有開(kāi)啟端口映射,如下圖所示:

但我們依然能夠通過(guò)訪問(wèn)宿主機(jī)(192.168.78.238)的8082端口來(lái)訪問(wèn)172.17.0.5的80端口,效果如下:

使用此方法有一個(gè)缺點(diǎn),不能訪問(wèn)localhost:8082,也就是說(shuō)如果想對(duì)localhost也進(jìn)行轉(zhuǎn)發(fā),需要進(jìn)行額外的配置。

結(jié)論

建議大家不要像我這樣去做端口映射,我這么做只是為了闡述標(biāo)題。

如果大家在容器中添加了一些東西,并開(kāi)啟了端口,同時(shí)呢,又想多復(fù)制幾個(gè)這樣的容器。建議大家把容器提交成鏡像,然后使用docker提供的端口映射功能。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker安裝redis掛載容器卷同時(shí)開(kāi)啟持久化

    docker安裝redis掛載容器卷同時(shí)開(kāi)啟持久化

    本文主要介紹了docker安裝redis掛載容器卷同時(shí)開(kāi)啟持久化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Docker 容器互聯(lián)互通的實(shí)現(xiàn)方法

    Docker 容器互聯(lián)互通的實(shí)現(xiàn)方法

    這篇文章主要介紹了Docker 容器互聯(lián)互通,本文講解不同網(wǎng)絡(luò)下的容器可以通過(guò)加入同一個(gè)docker網(wǎng)絡(luò),來(lái)訪問(wèn)該docker網(wǎng)絡(luò)下的容器,并且既可以通過(guò)容器ip也可以通過(guò)容器名連接,非常方便,需要的朋友可以參考下
    2022-10-10
  • docker容器臨時(shí)文件去除,服務(wù)器容量空間詳解

    docker容器臨時(shí)文件去除,服務(wù)器容量空間詳解

    這篇文章主要介紹了docker容器臨時(shí)文件去除,服務(wù)器容量空間,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-10-10
  • centos8安裝docker(containerd.io與podman-manpages問(wèn)題解決)及鏡像加速詳解

    centos8安裝docker(containerd.io與podman-manpages問(wèn)題解決)及鏡像加速詳解

    在CentOS 8中安裝Docker需先安裝VirtualBox,root用戶執(zhí)行卸載舊版、安裝基礎(chǔ)包、設(shè)置倉(cāng)庫(kù)、安裝Docker Engine-Community及containerd.io,解決包沖突后配置阿里云鏡像加速器,最后運(yùn)行hello-world測(cè)試
    2025-09-09
  • Docker網(wǎng)絡(luò)及容器通信原理詳解

    Docker網(wǎng)絡(luò)及容器通信原理詳解

    這篇文章主要介紹了Docker網(wǎng)絡(luò)及容器通信原理詳解的相關(guān)資料,并通過(guò)啟動(dòng)幾個(gè)容器來(lái)探究Docker網(wǎng)絡(luò)及容器通信,需要的朋友可以參考下
    2022-11-11
  • docker mysql啟動(dòng)時(shí)執(zhí)行初始化sql

    docker mysql啟動(dòng)時(shí)執(zhí)行初始化sql

    這篇文章主要介紹了docker mysql啟動(dòng)時(shí)執(zhí)行初始化sql問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • Docker容器和本機(jī)之間的文件傳輸方法

    Docker容器和本機(jī)之間的文件傳輸方法

    這篇文章主要介紹了Docker容器和本機(jī)之間的文件傳輸方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • docker容器增加或者修改容器映射端口的實(shí)現(xiàn)方法

    docker容器增加或者修改容器映射端口的實(shí)現(xiàn)方法

    在只有使用docker安裝的容器,沒(méi)有使用docker-compose或者其他客戶端工具,如果要增加或者修改容器端口,也是可以增加或者修改容器端口映射,本文給大家介紹了docker容器增加或者修改容器映射端口的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2025-01-01
  • Docker中Nginx反向代理的實(shí)現(xiàn)步驟

    Docker中Nginx反向代理的實(shí)現(xiàn)步驟

    為了安全考慮,我們一般會(huì)設(shè)置反向代理,用來(lái)屏蔽應(yīng)用程序真實(shí)的IP和端口號(hào),本文主要介紹了Docker中Nginx反向代理的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Docker容器的創(chuàng)建、啟動(dòng)、和停止的方法

    Docker容器的創(chuàng)建、啟動(dòng)、和停止的方法

    這篇文章主要介紹了Docker容器的創(chuàng)建、啟動(dòng)、和停止的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論