婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Docker 網(wǎng)絡(luò)模式及配置方式

Docker 網(wǎng)絡(luò)模式及配置方式

熱門標(biāo)簽:陜西辦理400電話 南昌外呼系統(tǒng)定制 海外工廠地圖標(biāo)注 株洲電銷 宿州外呼系統(tǒng)公司 貴陽(yáng)網(wǎng)絡(luò)外呼系統(tǒng)軟件 南充電銷外呼系統(tǒng) 信陽(yáng)電銷外呼系統(tǒng)怎么樣 地圖標(biāo)注小程序

一、Docker網(wǎng)絡(luò)模式

docker run 創(chuàng)建 Docker 容器時(shí),可以用 –net 選項(xiàng)指定容器的網(wǎng)絡(luò)模式,Docker 有以下 4 種網(wǎng)絡(luò)模式:

host 模式,使用 –net=host 指定。

container 模式,使用 –net=container:NAME_or_ID 指定。

none 模式,使用 –net=none 指定。

bridge 模式,使用 –net=bridge 指定,默認(rèn)設(shè)置。

host 模式

如果啟動(dòng)容器的時(shí)候使用 host 模式,那么這個(gè)容器將不會(huì)獲得一個(gè)獨(dú)立的 Network Namespace,而是和宿主機(jī)共用一個(gè) Network Namespace。容器將不會(huì)虛擬出自己的網(wǎng)卡,配置自己的 IP 等,而是使用宿主機(jī)的 IP 和端口。

例如,我們?cè)?10.10.101.105/24 的機(jī)器上用 host 模式啟動(dòng)一個(gè)含有 web 應(yīng)用的 Docker 容器,監(jiān)聽 tcp 80 端口。當(dāng)我們?cè)谌萜髦袌?zhí)行任何類似 ifconfig 命令查看網(wǎng)絡(luò)環(huán)境時(shí),看到的都是宿主機(jī)上的信息。而外界訪問容器中的應(yīng)用,則直接使用 10.10.101.105:80 即可,不用任何 NAT 轉(zhuǎn)換,就如直接跑在宿主機(jī)中一樣。但是,容器的其他方面,如文件系統(tǒng)、進(jìn)程列表等還是和宿主機(jī)隔離的。

container 模式

這個(gè)模式指定新創(chuàng)建的容器和已經(jīng)存在的一個(gè)容器共享一個(gè) Network Namespace,而不是和宿主機(jī)共享。新創(chuàng)建的容器不會(huì)創(chuàng)建自己的網(wǎng)卡,配置自己的 IP,而是和一個(gè)指定的容器共享 IP、端口范圍等。同樣,兩個(gè)容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng)、進(jìn)程列表等還是隔離的。兩個(gè)容器的進(jìn)程可以通過 lo 網(wǎng)卡設(shè)備通信。

none模式

這個(gè)模式和前兩個(gè)不同。在這種模式下,Docker 容器擁有自己的 Network Namespace,但是,并不為 Docker容器進(jìn)行任何網(wǎng)絡(luò)配置。也就是說,這個(gè) Docker 容器沒有網(wǎng)卡、IP、路由等信息。需要我們自己為 Docker 容器添加網(wǎng)卡、配置 IP 等。

bridge模式

bridge 模式是 Docker 默認(rèn)的網(wǎng)絡(luò)設(shè)置,此模式會(huì)為每一個(gè)容器分配 Network Namespace、設(shè)置 IP 等,并將一個(gè)主機(jī)上的 Docker 容器連接到一個(gè)虛擬網(wǎng)橋上。

當(dāng) Docker server 啟動(dòng)時(shí),會(huì)在主機(jī)上創(chuàng)建一個(gè)名為 docker0 的虛擬網(wǎng)橋,此主機(jī)上啟動(dòng)的 Docker 容器會(huì)連接到這個(gè)虛擬網(wǎng)橋上。

虛擬網(wǎng)橋的工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過交換機(jī)連在了一個(gè)二層網(wǎng)絡(luò)中。接下來就要為容器分配 IP 了,Docker 會(huì)從 RFC1918 所定義的私有 IP 網(wǎng)段中,選擇一個(gè)和宿主機(jī)不同的IP地址和子網(wǎng)分配給 docker0,連接到 docker0 的容器就從這個(gè)子網(wǎng)中選擇一個(gè)未占用的 IP 使用。

如一般 Docker 會(huì)使用 172.17.0.0/16 這個(gè)網(wǎng)段,并將 172.17.42.1/16 分配給 docker0 網(wǎng)橋(在主機(jī)上使用 ifconfig 命令是可以看到 docker0 的,可以認(rèn)為它是網(wǎng)橋的管理接口,在宿主機(jī)上作為一塊虛擬網(wǎng)卡使用)

二、Docker網(wǎng)絡(luò)配置–設(shè)置固定IP

docker 容器在啟動(dòng)時(shí)默認(rèn)使用的是bridge 模式,Docker 容器啟動(dòng)后,會(huì)連接到一個(gè)名為 docker0 的虛擬網(wǎng)橋,故每次啟動(dòng)docker容器的IP都不是固定的,不方便管理,有時(shí)候需要進(jìn)行固定IP映射,比如Docker集群管理時(shí)。

Docker容器設(shè)置固定IP時(shí)需要用到需要用到 pipework,用于給容器設(shè)置IP:

1、host宿主機(jī)下載pipework如下:

$ git clone https://github.com/jpetazzo/pipework.git
$ cp pipework/pipework /usr/local/bin/

2、安裝網(wǎng)橋工具包bridge-utils

$ yum -y install bridge-utils

3、創(chuàng)建網(wǎng)橋并設(shè)置IP網(wǎng)段

$ brctl addbr br1
$ ip link set dev br1 up
$ ip addr add 192.168.10.1/24 dev br1

4、啟動(dòng)一個(gè)容器

#基于 centos 這個(gè)鏡像啟動(dòng)一個(gè)容器,名為 centos-ip
$ docker run -d --name=centos-ip centos

5、設(shè)置IP

$ pipework br1 centos-ip 192.168.10.20/24

為名為 centos-ip 的容器指定了IP 192.168.10.20

分別使用 ping 與 ssh 命令進(jìn)行驗(yàn)證,看是否可以ping通和成功登錄

$ ping 192.168.10.20
$ ssh 192.168.10.20

注意:SSH時(shí)需要輸入容器centos的root密碼,如果在創(chuàng)建centos容器時(shí)未指定root密碼,可先進(jìn)入容器設(shè)置root密碼:

docker exec -it 容器ID/NAME
sudo passwd root

附: 刪除網(wǎng)橋

brctl show 
#查看網(wǎng)橋狀態(tài) 
brctl delif <網(wǎng)橋名> <端口名> 
#卸載網(wǎng)橋上的端口 
ifconfig 
#查看是否有網(wǎng)橋網(wǎng)卡名 
ifconfig <網(wǎng)橋名> down 
#關(guān)閉此網(wǎng)卡 
brctl delbr <網(wǎng)橋名> 
#刪除網(wǎng)橋</span> 

1.9版本后的Docker可使用下面這種方式:

1、創(chuàng)建自定義網(wǎng)絡(luò)

docker network create --subnet=192.168.10.1/24 network_my
# docker network ls 
NETWORK ID     NAME        DRIVER       SCOPE
1fb22da7d8a3    bridge       bridge       local
fe259334b842    host        host        local
8c5971ff48d8    network_my     bridge       local
3aaf0356c19c    none        null        local

2、 啟動(dòng)Docker容器

docker run -itd --name hadoop0 --hostname hadoop0 --net network_my --ip 192.168.10.30 -d -P -p 50070:50070 -p 8088:8088 hadoop:master

補(bǔ)充:docker 鏡像源更改與網(wǎng)絡(luò)方式修改

docker 鏡像更改,在/etc/docker/daemon.json 添加鏡像地址,改用別的方式生效了。

{ "exec-opts": ["native.cgroupdriver=systemd"] }

重啟docker

systemctl restart docker systemctl status docker

居然生效了。

docker 的配置時(shí)而這樣生效,時(shí)而那樣生效,真是無語

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽:玉林 開封 拉薩 晉城 石嘴山 三明 鄭州 汕頭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker 網(wǎng)絡(luò)模式及配置方式》,本文關(guān)鍵詞  Docker,網(wǎng)絡(luò),模式,及,配置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker 網(wǎng)絡(luò)模式及配置方式》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Docker 網(wǎng)絡(luò)模式及配置方式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 广平县| 逊克县| 西峡县| 前郭尔| 涿鹿县| 托里县| 无锡市| 瓮安县| 和龙市| 武邑县| 韶山市| 桃园市| 奎屯市| 镇江市| 邯郸县| 凤庆县| 布尔津县| 万年县| 东光县| 温宿县| 壤塘县| 营山县| 嘉善县| 沅江市| 大庆市| 蓬安县| 高阳县| 禹州市| 西林县| 贞丰县| 卓资县| 莒南县| 芜湖县| 成武县| 苍山县| 霍林郭勒市| 绍兴市| 合水县| 阜新市| 定日县| 克什克腾旗|