亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

Docker網(wǎng)絡(luò)

我們來(lái)探討一個(gè)docker的network的問(wèn)題。小伙伴們請(qǐng)看如下命令:

docker run -d -p8080:8080 鏡像ID

-p8080:8080這個(gè)命令的意思就是將容器的8080端口映射到宿主機(jī)的8080端口,這個(gè)是我們手動(dòng)指定的網(wǎng)絡(luò)端口映射

場(chǎng)景

假如目前我們有很多的容器實(shí)例,微服務(wù)群,各個(gè)服務(wù)之間都有相互調(diào)用、訪問(wèn),實(shí)現(xiàn)容器互聯(lián)。那么我們需要做什么?

新建docker網(wǎng)絡(luò)

我們需要?jiǎng)?chuàng)建一個(gè)網(wǎng)絡(luò)環(huán)境,讓需要相互訪問(wèn)的服務(wù)容器實(shí)例都加入到這個(gè)網(wǎng)絡(luò)環(huán)境中,這樣就可以實(shí)現(xiàn),相互訪問(wèn)調(diào)用。

執(zhí)行如下命令(創(chuàng)建一個(gè)docker網(wǎng)絡(luò)環(huán)境):

# 創(chuàng)建docker網(wǎng)絡(luò),網(wǎng)絡(luò)模式設(shè)置為bridge 網(wǎng)絡(luò)名稱為my-network
docker network create -d bridge my-network

docker網(wǎng)絡(luò)模式說(shuō)明:

none模式:docker容器擁有自己的network namespace,但是不創(chuàng)建任何網(wǎng)絡(luò)設(shè)備,僅有l(wèi)o網(wǎng)絡(luò),即為封閉式容器。使用--network none指定

bridge模式:docker安裝后會(huì)默認(rèn)啟用的網(wǎng)絡(luò),并創(chuàng)建docker0網(wǎng)橋作為網(wǎng)關(guān),使用此網(wǎng)絡(luò)創(chuàng)建的容器會(huì)生成一對(duì)以veth開頭的虛擬網(wǎng)卡,一半在容器中,一半在docker0橋上,此方式實(shí)現(xiàn)了容器與宿主機(jī)間的通信。docker0橋是NAT橋,因此容器獲得的是私有網(wǎng)絡(luò)地址,可將容器想象為主機(jī)NAT服務(wù)背后的主機(jī),如果開發(fā)容器或其上的服務(wù)為外部網(wǎng)絡(luò)訪問(wèn),需要在宿主機(jī)上為其定義DNAT規(guī)則.使用--network bridge指定

host模式:共享宿主機(jī)的網(wǎng)絡(luò)名稱空間,容器不會(huì)虛擬自己的網(wǎng)卡設(shè)備及ip地址,而直接使用宿主機(jī)的ip地址與外部進(jìn)行通信,且不需要任何NAT轉(zhuǎn)換。使用--network host指定

查看docker網(wǎng)絡(luò)

可以看到,除了docker安裝時(shí)創(chuàng)建的三個(gè)網(wǎng)絡(luò),還有一個(gè)新的網(wǎng)絡(luò),就是我們剛那個(gè)創(chuàng)建的那個(gè)網(wǎng)絡(luò)。

Docker網(wǎng)絡(luò)

 

加入網(wǎng)絡(luò)

我們來(lái)啟動(dòng)倆個(gè)容器,并且,將倆個(gè)容器加入到my-network網(wǎng)絡(luò)環(huán)境中。

# 啟動(dòng)第一個(gè)容器
docker run -itd --name docker01 --network my-network springboot-docker/springboot-docker:1.0 /bin/bash 
# 啟動(dòng)第二個(gè)容器docker run -itd --name docker02 --network my-network springboot-docker/springboot-docker:1.0 /bin/bash 

下圖可知,執(zhí)行docker ps,可以看到現(xiàn)在倆個(gè)容器已經(jīng)運(yùn)行起來(lái)了

Docker網(wǎng)絡(luò)

 

驗(yàn)證網(wǎng)絡(luò)

我們分別進(jìn)入到倆個(gè)容器中,ping對(duì)方,驗(yàn)證是否網(wǎng)絡(luò)暢通

# 進(jìn)入到容器 docker01
docker exec -it docker01 /bin/bash

這樣就進(jìn)入到了docker01容器中,執(zhí)行命令ping docker02,可以看到網(wǎng)絡(luò)是通的。

Docker網(wǎng)絡(luò)

 

同理,進(jìn)入到第二個(gè)容器中,用同樣的命令測(cè)試。在這里有的小伙伴可能會(huì)遇到一個(gè)問(wèn)題,在執(zhí)行ping docker01的時(shí)候報(bào)錯(cuò),告訴你沒(méi)有這個(gè)命令,這時(shí)需要我們自己下載ping命令,執(zhí)行如下兩條命令即可:

# 更新
apt-get update
# 安裝
apt install iputils-ping

小結(jié)

好了,小伙伴們,我們簡(jiǎn)單的了解了docker的網(wǎng)絡(luò),現(xiàn)實(shí)的情況如果我們有成千上萬(wàn)個(gè)容器需要相互連通,這樣的手動(dòng)配置肯定是不行的,所以我們會(huì)用到docker-compose技術(shù)來(lái)進(jìn)行服務(wù)的編配,后續(xù),會(huì)和小伙伴們來(lái)討論docker-compose怎么實(shí)現(xiàn)服務(wù)的編排。

分享到:
標(biāo)簽:網(wǎng)絡(luò) Docker
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定