網(wǎng)絡(luò)分類
bridge網(wǎng)絡(luò)
bridge是docker默認(rèn)網(wǎng)絡(luò)模式,docker安裝后會選擇一個私有網(wǎng)段作為bridge的子網(wǎng),在我們創(chuàng)建容器時默認(rèn)會將容器網(wǎng)絡(luò)加入到這個子網(wǎng)中。
原理:Docker Daemon(后臺進(jìn)程) 利用 veth pair 技術(shù),在宿主機(jī)上創(chuàng)建一對對等虛擬網(wǎng)絡(luò)接口設(shè)備(veth pair)用于連接網(wǎng)橋(docker0)和容器, veth pair 技術(shù)的特性可以保證無論哪一個 veth 接收到網(wǎng)絡(luò)報文,都會將報文傳輸給另一方。
注意:通過docker-compose構(gòu)建的容器會自動創(chuàng)建一個名為文件夾名_default的橋接網(wǎng)絡(luò)。
host網(wǎng)絡(luò)
采用 host 網(wǎng)絡(luò)模式的 Docker Container,可以直接使用宿主機(jī)的 IP 地址與外界進(jìn)行通信,若宿主機(jī)的 eth0 是一個公有 IP,那么容器也擁有這個公有 IP。同時容器內(nèi)服務(wù)的端口也可以使用宿主機(jī)的端口,無需額外進(jìn)行 NAT 轉(zhuǎn)換;
host 網(wǎng)絡(luò)模式可以讓容器共享宿主機(jī)網(wǎng)絡(luò)棧,這樣的好處是外部主機(jī)與容器直接通信,但是容器的網(wǎng)絡(luò)缺少隔離性。
none 網(wǎng)絡(luò)模式
none 網(wǎng)絡(luò)模式即不為 Docker Container 創(chuàng)建任何的網(wǎng)絡(luò)環(huán)境,容器內(nèi)部就只能使用 loopback (本地回路)網(wǎng)絡(luò)設(shè)備,不會再有其他的網(wǎng)絡(luò)資源。
container 網(wǎng)絡(luò)模式
Container 網(wǎng)絡(luò)模式是 Docker 中一種較為特別的網(wǎng)絡(luò)的模式。在創(chuàng)建容器時通過參數(shù) --net container:已運(yùn)行的容器名稱|ID 或者 --network container:已運(yùn)行的容器名稱|ID 指定;
處于這個模式下的 Docker 容器會共享一個網(wǎng)絡(luò)棧,這樣兩個容器之間可以使用 localhost 高效快速通信。
Container 網(wǎng)絡(luò)模式即新創(chuàng)建的容器不會創(chuàng)建自己的網(wǎng)卡,配置自己的 IP,而是和一個指定的容器共享 IP、端口范圍等。同樣兩個容器除了網(wǎng)絡(luò)方面相同之外,其他的如文件系統(tǒng)、進(jìn)程列表等還是隔離的。文章來源:http://www.zghlxwxcb.cn/news/detail-821790.html
更多細(xì)節(jié)可以查看:https://zhuanlan.zhihu.com/p/212772001文章來源地址http://www.zghlxwxcb.cn/news/detail-821790.html
到了這里,關(guān)于docker network網(wǎng)絡(luò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!