Docker的一些基礎(chǔ)的網(wǎng)絡(luò)命令小結(jié)

各位好,今天我們將學(xué)習(xí)一些Docker容器的基礎(chǔ)命令。Docker 是一個(gè)開(kāi)源項(xiàng)目,提供了一個(gè)可以打包、裝載和運(yùn)行任何應(yīng)用的輕量級(jí)容器的開(kāi)放平臺(tái)。它沒(méi)有語(yǔ)言支持、框架和打包系統(tǒng)的限制,從小型的家用電腦到高端服務(wù)器,在何時(shí)何地都可以運(yùn)行。它可以使部署和擴(kuò)展web應(yīng)用程序、數(shù)據(jù)庫(kù)和后端服務(wù)像搭積木一樣容易,而不依賴特定技術(shù)棧或提供商。Docker適用于網(wǎng)絡(luò)環(huán)境,它正應(yīng)用于數(shù)據(jù)中心、ISP和越來(lái)越多的網(wǎng)絡(luò)服務(wù)。
因此,這里有一些你在管理Docker容器的時(shí)候會(huì)用到的一些命令。
1. 找到Docker接口
Docker默認(rèn)會(huì)創(chuàng)建一個(gè)名為docker0的網(wǎng)橋接口作為連接外部世界的基礎(chǔ)。運(yùn)行中的docker容器直接連接到網(wǎng)橋接口docker0。默認(rèn)上,docker會(huì)分配172.17.42.1/16給docker0,它是所有運(yùn)行中的容器ip地址的子網(wǎng)。找到Docker接口的ip地址非常簡(jiǎn)單。要找出docker0網(wǎng)橋接口和連接到網(wǎng)橋上的docker容器,我們可以在安裝了docker的終端或者shell中運(yùn)行ip命令。

2. 得到Docker容器的ip地址
如我們上面讀到的,docker在宿主機(jī)中創(chuàng)建了一個(gè)叫docker0的網(wǎng)橋接口。在我們創(chuàng)建一個(gè)新的docker容器時(shí),它自動(dòng)被默認(rèn)分配了一個(gè)在該子網(wǎng)范圍內(nèi)的ip地址。因此,要檢測(cè)運(yùn)行中的Docker容器的ip地址,我們需要進(jìn)入一個(gè)正在運(yùn)行的容器并用下面的命令檢查ip地址。首先,我們運(yùn)行一個(gè)新的容器并進(jìn)入其中。如果你已經(jīng)有一個(gè)正在運(yùn)行的容器,你可以跳過(guò)這個(gè)步驟。
現(xiàn)在,我們可以運(yùn)行ip a來(lái)得到容器的ip地址了。

3. 映射暴露的端口
要映射配置在Dockerfile的暴露端口到宿主機(jī)的高位端口,我們只需用下面帶上-P標(biāo)志的命令。這會(huì)打開(kāi)docker容器的隨機(jī)端口并映射到Dockerfile中定義的端口。下面是使用-P來(lái)打開(kāi)/暴露定義的端口的例子。

上面的命令會(huì)映射容器的端口到 httpd 容器的 Dockerfile 中定義的80端口上。我們用下面的命令來(lái)查看正在運(yùn)行的容器暴露的端口。
并且可以用下面的curl命令來(lái)檢查。

4. 映射到特定的端口上
我們也可以映射暴露端口或者docker容器端口到我們指定的端口上。要實(shí)現(xiàn)這個(gè),我們用-p標(biāo)志來(lái)定義我們所需的端口。這里是我們的一個(gè)例子。
上面的命令會(huì)映射(宿主機(jī)的)8080端口到(容器的)80上。我們可以運(yùn)行curl來(lái)檢查這點(diǎn)。

5. 創(chuàng)建自己的網(wǎng)橋
要給容器創(chuàng)建一個(gè)自定義的IP地址,在本篇中我們會(huì)創(chuàng)建一個(gè)名為br0的新網(wǎng)橋。要分配需要的ip地址,我們需要在運(yùn)行docker的宿主機(jī)中運(yùn)行下面的命令。
# ip link add br0 type bridge
# ip addr add 172.30.1.1/20 dev br0
# ip link set br0 up
# docker -d -b br0

6. 創(chuàng)建自己的網(wǎng)橋
要給容器創(chuàng)建一個(gè)自定義的IP地址,在本篇中我們會(huì)創(chuàng)建一個(gè)名為br0的新網(wǎng)橋。要分配需要的ip地址,我們需要在運(yùn)行docker的宿主機(jī)中運(yùn)行下面的命令。
# ip link add br0 type bridge
# ip addr add 172.30.1.1/20 dev br0
# ip link set br0 up
# docker -d -b br0

到這里,橋接后的接口將會(huì)分配給容器在橋接子網(wǎng)內(nèi)的新ip地址。
7. 鏈接到另外一個(gè)容器上
我們可以用Docker將一個(gè)容器連接到另外一個(gè)上。我們可以在不同的容器上運(yùn)行不同的程序,并且相互連接或鏈接。鏈接允許容器間相互連接并從一個(gè)容器上安全地傳輸信息給另一個(gè)容器。要做到這個(gè),我們可以使用--link標(biāo)志。首先,我們使用--name標(biāo)志來(lái)標(biāo)示training/postgres鏡像。

完成之后,我們將容器db與training/webapp鏈接來(lái)形成新的叫web的容器。

總結(jié)
Docker網(wǎng)絡(luò)很神奇也好玩,我們可以對(duì)docker容器做很多事情。我們可以把玩這些簡(jiǎn)單而基礎(chǔ)的docker網(wǎng)絡(luò)命令。docker的網(wǎng)絡(luò)是非常先進(jìn)的,我們可以用它做很多事情。
如果你有任何的問(wèn)題、建議、反饋請(qǐng)?jiān)谙旅娴脑u(píng)論欄寫(xiě)下來(lái)以便于我們我們可以提升或者更新文章的內(nèi)容。謝謝! 玩得開(kāi)心!:-)
相關(guān)文章
網(wǎng)管必知:Windows常用網(wǎng)絡(luò)命令詳解(大全)
作為一個(gè)合格的網(wǎng)管,一定要有一身過(guò)硬的技術(shù)技能,因?yàn)楣ぷ鳟?dāng)中遇到的問(wèn)題永遠(yuǎn)是千頭萬(wàn)緒的。今天我們就來(lái)系統(tǒng)地溫習(xí)一下網(wǎng)管所必須要知道的一些Windows常用網(wǎng)絡(luò)命令,希2015-12-27Linux下常用網(wǎng)絡(luò)命令總結(jié)
這篇文章主要介紹了Linux下常用網(wǎng)絡(luò)命令總結(jié),皆是Linux入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-07-24Linux常用命令之ping命令詳解和使用例子(查看網(wǎng)絡(luò)通不通)
Linux系統(tǒng)的ping命令是常用的網(wǎng)絡(luò)命令,它通常用來(lái)測(cè)試與目標(biāo)主機(jī)的連通性,我們經(jīng)常會(huì)說(shuō)“ping一下某機(jī)器,看是不是開(kāi)著”、不能打開(kāi)網(wǎng)頁(yè)時(shí)會(huì)說(shuō)“你先ping網(wǎng)關(guān)地址192.1682014-04-10Linux下必須知道的11個(gè)網(wǎng)絡(luò)命令
無(wú)論你是要下載文件、診斷網(wǎng)絡(luò)問(wèn)題、管理網(wǎng)絡(luò)接口,還是查看網(wǎng)絡(luò)的統(tǒng)計(jì)數(shù)據(jù),都有終端命令可以來(lái)完成2014-03-06DOS命令大全 常用網(wǎng)絡(luò)命令打包(學(xué)習(xí)dos必備)
DOS命令大全 常用網(wǎng)絡(luò)命令打包 學(xué)習(xí)dos必備,學(xué)習(xí)dos的朋友可以收藏下2012-03-02- 1、 IPCONFIG ipconfig 實(shí)用程序和它的等價(jià)圖形用戶界面——windows 95/98 中的winipcfg 可用于顯示當(dāng)前的tcp/ip配置的設(shè)置值。這些信息一般用來(lái)檢驗(yàn)人2009-06-23
Windows系統(tǒng)中常用網(wǎng)絡(luò)命令及命令實(shí)例詳解(全)
這篇文章主要介紹了Windows系統(tǒng)中常用網(wǎng)絡(luò)命令及命令實(shí)例詳解,需要的朋友可以參考下2015-12-27