Docker容器的教程這里已經(jīng)是第五期了,我們今天講一講容器之間的鏈接,包括常用的命令等等,喜歡的話記得收藏起來慢慢看。
容器間的鏈接有兩種方法,任選其一即可
例如:
docker run -d -P pro/myapp python manager.py
上面的命令運行完成后,要通過ps查看可以看到對應(yīng)的容器端口和主機(jī)端口的映射關(guān)系。
docker run -d -p 8001:8000 pro/myapp python manager.py
這樣我們就可以通過訪問 127.0.0.1:8001(主機(jī)) 來訪問容器的 8000 端口。這里面默認(rèn)都是綁定TCP
要綁定UDP如下命令:
docker run -d -p 127.0.0.1:8000:8000/udp pro/myapp python manager.py
安裝mysql
普通命令:sudo docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
指定編碼格式命令:sudo docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
Docker容器連接
端口映射并不是唯一把 docker 連接到另一個容器的方法。docker 有一個連接系統(tǒng)允許將多個容器連接在一起,共享連接信息。docker 連接會創(chuàng)建一個父子關(guān)系,其中父容器可以看到子容器的信息。
容器命名
docker run -d -P --name blog pro/myapp python manager.py
通過--name設(shè)定容器名字
docker inspect -f "{{ .Name }}" aed8addj09a1
通過上述命令可以返回涌入名字。容器不可以重名,一次要修改名字,需要停止容器后刪除。
容器連接
如果要連接1個容器,需要先創(chuàng)建容器,然后通過--link連接。
這樣就完成了Web容器和DB容器連接到了一起。
--link name:alias
name是我們連接容器的名字,alias是link的別名。讓我們看如何使用alias。
下面,我們通過ps查看一下:
$ docker ps
這里面在Names我們可以看到sql15.7,這說明sql15.7的父/子關(guān)系。這里的父容器是db可以訪問子容器web。為此docker在容器之間打開一個安全連接隧道不需要暴露任何端口在容器外部。你會注意到當(dāng)你啟動db容器的時候我們沒有使用-P或者-p標(biāo)識。我們連接容器的時候我們不需要通過網(wǎng)絡(luò)給mySQL數(shù)據(jù)庫開放端口。
這樣我們可以通過查詢Docker的環(huán)境變量就可以看到相關(guān)信息了(env命令查看容器的環(huán)境變量)
docker run --rm --name web2 --link db:db training/webapp env
這樣就可以通過容器Names來引用對應(yīng)容器。
PS:容器中往往沒有ping,因此要自己添加
apt-get install -yqq inetutils-ping
最后如果你對Python開發(fā)感興趣的話,可以來千鋒Python培訓(xùn)班參加我們的Python培訓(xùn)課程,全程名師面授指導(dǎo),現(xiàn)在咨詢還可免費領(lǐng)取Python學(xué)習(xí)資料,快來獲取吧。