国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

Docker 配置固定IP及橋接的實現方法

2019-11-02 16:14:51
字體:
來源:轉載
供稿:網友

docker默認使用bridge模式,通過網橋連接到宿主機,而容器內部的ip則從網橋所在的ip段取未用的ip。這樣做一個不方便的地方在于容器內部的ip不是固定的,想要連接容器時只能通過映射到宿主機的端口,因而有很多項目使用overlay來為docker提供網絡的配置,比如Pipework、Flannel、Kubernetes、Weave、opencontrail等。

想要使用overlay來為docker配置網絡,需要首先了解下docker的網絡模式:

一、Docker的四種網絡模式

Docker在創建容器時有四種網絡模式,bridge為默認不需要用--net去指定,其他三種模式需要在創建容器時使用--net去指定。

bridge模式,使用--net=bridge指定,默認設置。 none模式,使用--net=none指定。 host模式,使用--net=host指定。 container模式,使用--net=container:容器名稱或ID指定。(如:--net=container:30b668ccb630)

bridge模式:docker網絡隔離基于網絡命名空間<Network Namespace>,在物理機上創建docker容器時會為每一個docker容器分配網絡命名空間,并且把容器IP橋接到物理機的虛擬網橋上。

none模式:此模式下創建容器是不會為容器配置任何網絡參數的,如:容器網卡、IP、通信路由等,全部需要自己去配置。

host模式:此模式創建的容器沒有自己獨立的網絡命名空間,是和物理機共享一個Network Namespace,并且共享物理機的所有端口與IP,并且這個模式認為是不安全的。

container模式:此模式和host模式很類似,只是此模式創建容器共享的是其他容器的IP和端口而不是物理機,此模式容器自身是不會配置網絡和端口,創建此模式容器進去后,你會發現里邊的IP是你所指定的那個容器IP并且端口也是共享的,而且其它還是互相隔離的,如進程等。

二、Docker配置自己的網橋

例子一、

1)、自定義新網橋

root@Docker:~# dpkg -l | grep bridge*    #查看是否有安裝brctl命令包ii bridge-utils 1.5-6Ubuntu2  amd64    Utilities for configuring the Linux Ethernet bridgeroot@Docker:~# apt-get install bridge-utils #安裝brctl命令包root@Docker:~# docker -v          #docker版本Docker version 1.5.0, build a8a31efroot@Docker:~# ps -ef | grep docker     #正在運行 root   6834  1 0 16:28 ?    00:00:00 /usr/bin/docker -droot@Docker:~# service docker stop     #停止root@Docker:~# ifconfig | grep docker0   #docker默認網橋docker0 Link encap:以太網 硬件地址 56:84:7a:fe:97:99root@Docker:~# ifconfig docker0 down    #停止docker默認網橋root@Docker:~# brctl show          #查看物理機上有哪些網橋root@Docker:~# brctl delbr docker0     #刪除docker默認網橋root@Docker:~# brctl addbr docker_new0   #自定義網橋root@Docker:~# ifconfig docker_new0 192.168.6.1 netmask 255.255.255.0  #給自定義網橋指定IP和子網root@Docker:~# ifconfig | grep docker_new0 #查看發現自定義網橋已經啟動docker_new0 Link encap:以太網 硬件地址 0a:5b:26:48:dc:04      inet 地址:192.168.6.1 廣播:192.168.6.255 掩碼:255.255.255.0root@Docker:~# echo 'DOCKER_OPTS="-b=docker_new0"' >> /etc/default/docker #指定網橋寫入docker配置文件root@Docker:~# service docker start     #啟動dockerroot@Docker:~# ps -ef | grep docker     #成功啟動,并且成功加載了docker_new0root  21345  1 0 18:44 ?    00:00:00 /usr/bin/docker -d -b=docker_new0root@Docker:~# brctl show          #查看當前網橋下是否有容器連接bridge name       bridge id       STP enabled  interfacesdocker_new0      8000.fa3ce276c3b9      no      root@Docker:~# docker run -itd CentOS:centos6 /bin/bash         #創建容器測試root@Docker:~# docker attach 7f8ff622237f                #進入容器[root@7f8ff622237f /]# ifconfig eth0 | grep addr             #容器IP已經和自定義網橋一個網段,該容器IP為DHCP自動分配,不屬于指定固定IPeth0   Link encap:Ethernet HWaddr 02:42:C0:A8:06:02      inet addr:192.168.6.2 Bcast:0.0.0.0 Mask:255.255.255.0     inet6 addr: fe80::42:c0ff:fea8:602/64 Scope:Linkroot@Docker:~# brctl show          #該網橋上已經連接著一個網絡設備了bridge name        bridge id       STP enabled  interfacesdocker_new0      8000.fa3ce276c3b9      no     veth17f560a
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长沙市| 孟州市| 九寨沟县| 江陵县| 兴仁县| 绥化市| 房产| 额济纳旗| 台州市| 济宁市| 千阳县| 凤冈县| 松溪县| 威宁| 沧州市| 射洪县| 方正县| 岳池县| 武强县| 全南县| 乐都县| 武鸣县| 景宁| 宁德市| 安溪县| 临清市| 镇远县| 湘阴县| 上杭县| 锡林郭勒盟| 吕梁市| 横山县| 万州区| 葫芦岛市| 宜兴市| 象州县| 彭山县| 荆州市| 荆州市| 霍邱县| 忻州市|