Docker 通過(guò)端口來(lái)連接一個(gè)容器的實(shí)現(xiàn)
Docker容器的連接
1.網(wǎng)絡(luò)端口映射
我們創(chuàng)建一個(gè)python應(yīng)用的容器
# docker run -d -P training/webapp python app.py

我們使用 -P 參數(shù)創(chuàng)建一個(gè)容器,使用 docker ps 來(lái)看到端口5000綁定主機(jī)端口32768

我們也可以使用 -p 標(biāo)識(shí)來(lái)指定容器端口綁定到主機(jī)端口。
兩種方式的區(qū)別是:
-P :是容器內(nèi)部端口隨機(jī)映射到主機(jī)的高端口。
-p : 是容器內(nèi)部端口綁定到指定的主機(jī)端口。
………………………………………………………………………………………………………………………………………………………………………
# docker run -d -p 5000:5000 training/webapp python app.py

另外,我們可以指定容器綁定的網(wǎng)絡(luò)地址,比如綁定127.0.0.1
# docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py

這樣我們就可以通過(guò)訪問(wèn)127.0.0.1:5001來(lái)訪問(wèn)容器的5000端口
容器默認(rèn)都是綁定 tcp 端口,如果要綁定 UDP 端口,可以在端口后面加上 /udp
# docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

docker port <images id> [port]命令可以讓我們快捷地查看端口的綁定情況
docker port ce206e3c0ae6 5000

現(xiàn)在我們把其他容器都關(guān)掉,開(kāi)啟一個(gè)新的nginx容器
# docker run -d -p 5000:80 --name web111 nginx

我們把容器的80端口轉(zhuǎn)發(fā)到本地的5000端口,然后在外部進(jìn)行訪問(wèn)

可以看見(jiàn)我們是可以訪問(wèn)成功的,說(shuō)明端口轉(zhuǎn)發(fā)過(guò)來(lái)了
2.Docker容器連接
端口映射并不是唯一把 docker 連接到另一個(gè)容器的方法。
docker有一個(gè)連接系統(tǒng)允許將多個(gè)容器連接在一起,共享連接信息。
docker連接會(huì)創(chuàng)建一個(gè)父子關(guān)系,其中父容器可以看到子容器的信息。
3.容器命名
我們創(chuàng)建一個(gè)容器的時(shí)候,docker會(huì)自動(dòng)對(duì)它進(jìn)行命名。但我們也可以使用–name標(biāo)識(shí)來(lái)命名容器
docker run -d -P --name Peithon training/webapp python app.py

補(bǔ)充知識(shí):如何查看一個(gè)docker容器內(nèi)部開(kāi)放有哪些端口
不用進(jìn)入容器bash內(nèi)部,在linux命令行內(nèi)輸入docker port 容器id 即可查看
以上這篇Docker 通過(guò)端口來(lái)連接一個(gè)容器的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用Docker?運(yùn)行?python?簡(jiǎn)單程序
這篇文章主要介紹了利用Docker?運(yùn)行?python?簡(jiǎn)單程序,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-04-04
Dockerfile如何使用alpine系統(tǒng)制作haproxy鏡像
這篇文章主要介紹了Dockerfile如何使用alpine系統(tǒng)制作haproxy鏡像問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
使用Portainer部署Docker容器的項(xiàng)目實(shí)踐
這篇文章主要介紹了使用Portainer部署Docker容器的項(xiàng)目實(shí)踐,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Docker鏡像的導(dǎo)入導(dǎo)出的實(shí)現(xiàn)方法
這篇文章主要介紹了Docker鏡像的導(dǎo)入導(dǎo)出的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
聊聊docker?單機(jī)部署redis集群的問(wèn)題
這篇文章主要介紹了docker?單機(jī)部署redis集群,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
docker如何自定義網(wǎng)絡(luò)問(wèn)題
這篇文章主要介紹了docker如何自定義網(wǎng)絡(luò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
解決docker啟動(dòng)容器失敗:cannot?access‘/docker-entrypoint-initdb.d/‘:
這篇文章主要介紹了解決docker啟動(dòng)容器失敗:cannot?access‘/docker-entrypoint-initdb.d/‘:Operation?not?permitted,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05

