最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker如何使用OpenvSwitch網(wǎng)橋

 更新時(shí)間:2017年05月12日 10:59:15   作者:yeasy  
本篇文章主要介紹了Docker如何使用OpenvSwitch網(wǎng)橋,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

Docker 默認(rèn)使用的是 Linux 自帶的網(wǎng)橋?qū)崿F(xiàn),實(shí)際上,OpenvSwitch 項(xiàng)目作為一個(gè)成熟的虛擬交換機(jī)實(shí)現(xiàn),具備更豐富的功能。個(gè)人認(rèn)為,將來 Docker 必然會(huì)支持 OpenvSwitch 作為其默認(rèn)網(wǎng)橋?qū)崿F(xiàn)。有興趣的同學(xué)歡迎通過如下的步驟來嘗鮮。

環(huán)境

在 Ubuntu 14.04 系統(tǒng)中進(jìn)行測(cè)試。操作流程也適用于 RedHat/CentOS 系列系統(tǒng),但少數(shù)命令和配置文件可能略有差異。

安裝 Docker

安裝最近版本的 Docker 并 啟動(dòng)服務(wù)。

$ sudo apt-get install apt-transport-https
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
$ sudo service docker start

此時(shí),Docker 服務(wù)會(huì)創(chuàng)建一個(gè)默認(rèn)的 docker0 網(wǎng)橋,作為連接容器的本地網(wǎng)橋,可以通過如下命令查看:

$ sudo brctl show
bridge name   bridge id        STP enabled   interfaces
docker0     8000.000000000000    no

網(wǎng)橋 docker0 內(nèi)部接口的默認(rèn)地址為 172.17.42.1。

$ ifconfig docker0
docker0  Link encap:Ethernet HWaddr 56:84:7a:fe:97:99 
     inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0
     BROADCAST MULTICAST MTU:1500 Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

安裝 OpenvSwitch

通過如下命令安裝 OpenvSwitch。

$ sudo aptitude install openvswitch-switch

測(cè)試添加一個(gè)網(wǎng)橋 br0 并查看。

$ sudo ovs-vsctl add-br br0
$ sudo ovs-vsctl show
20d0b972-e323-4e3c-9e66-1d8bb57c7ff5
  Bridge ovs-br
    Port ovs-br
      Interface br0
        type: internal
  ovs_version: "2.0.2"

配置容器連接到 OpenvSwitch 網(wǎng)橋

目前 OpenvSwitch 網(wǎng)橋還不能直接支持掛載容器,需要手動(dòng)在 OpenvSwitch 網(wǎng)橋上創(chuàng)建虛擬網(wǎng)口并掛載到容器中。

創(chuàng)建無網(wǎng)口容器

啟動(dòng)一個(gè) ubuntu 容器,并指定不創(chuàng)建網(wǎng)絡(luò),后面我們手動(dòng)添加網(wǎng)絡(luò)。較新版本的 Docker 默認(rèn)不允許在容器內(nèi)修改網(wǎng)絡(luò)配置,需要在 run 的時(shí)候指定參數(shù) --privileged=true。

$ sudo docker run --net=none --privileged=true -it ubuntu:14.04 bash
root@298bbb17c244:/#

記住這里容器的 id 為 298bbb17c244。

此時(shí)在容器內(nèi)查看網(wǎng)絡(luò)信息,只能看到一個(gè)本地網(wǎng)卡 lo。

root@298bbb17c244:/# ifconfig
lo    Link encap:Local Loopback 
     inet addr:127.0.0.1 Mask:255.0.0.0
     inet6 addr: ::1/128 Scope:Host
     UP LOOPBACK RUNNING MTU:65536 Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

手動(dòng)為容器添加網(wǎng)絡(luò)

下載 OpenvSwitch 項(xiàng)目提供的支持 Docker 容器的輔助腳本 ovs-docker。

$ wget https://github.com/openvswitch/ovs/raw/master/utilities/ovs-docker
$ sudo chmod a+x ovs-docker

為容器添加網(wǎng)卡,并掛載到 br0 上,命令為

$ sudo ./ovs-docker add-port br0 eth0 298bbb17c244

添加成功后,在容器內(nèi)查看網(wǎng)絡(luò)信息,多了一個(gè)新添加的網(wǎng)卡 eth0,但是默認(rèn)并沒有 IP 地址。

root@298bbb17c244:/# ifconfig
eth0   Link encap:Ethernet HWaddr 7e:df:97:ac:1a:6a 
     inet6 addr: fe80::7cdf:97ff:feac:1a6a/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:22 errors:0 dropped:0 overruns:0 frame:0
     TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:3197 (3.1 KB) TX bytes:508 (508.0 B)

lo    Link encap:Local Loopback 
     inet addr:127.0.0.1 Mask:255.0.0.0
     inet6 addr: ::1/128 Scope:Host
     UP LOOPBACK RUNNING MTU:65536 Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

手動(dòng)給它添加一個(gè),例如 172.17.0.2/16,并查看。

root@298bbb17c244:/# ifconfig eth0 172.17.0.2/16
root@298bbb17c244:/# ifconfig 
eth0   Link encap:Ethernet HWaddr ae:3d:75:2c:18:ba 
     inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0
     inet6 addr: fe80::ac3d:75ff:fe2c:18ba/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:187 errors:0 dropped:2 overruns:0 frame:0
     TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:33840 (33.8 KB) TX bytes:1170 (1.1 KB)

lo    Link encap:Local Loopback 
     inet addr:127.0.0.1 Mask:255.0.0.0
     inet6 addr: ::1/128 Scope:Host
     UP LOOPBACK RUNNING MTU:65536 Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

在容器外,配置 OpenvSwitch 的網(wǎng)橋 br0 內(nèi)部接口地址為 172.17.42.2/16(只要與所掛載容器 IP 在同一個(gè)子網(wǎng)內(nèi)即可)。

$ sudo ifconfig br0 172.17.42.2/16

測(cè)試連通

經(jīng)過上面步驟,容器已經(jīng)連接到了網(wǎng)橋 br0 上了,拓?fù)淙缦滤尽?/p>

容器(172.17.0.2/16)<--> br0 網(wǎng)橋 <--> br0 內(nèi)部端口(172.17.42.2/16)

此時(shí),在容器內(nèi)就可以測(cè)試是否連通到網(wǎng)橋 br0 上了。

root@298bbb17c244:/# ping 172.17.42.2
PING 172.17.42.2 (172.17.42.2) 56(84) bytes of data.
64 bytes from 172.17.42.2: icmp_seq=1 ttl=64 time=0.874 ms
64 bytes from 172.17.42.2: icmp_seq=2 ttl=64 time=0.079 ms
^C
--- 172.17.42.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.079/0.476/0.874/0.398 ms

在容器內(nèi)也可以配置默認(rèn)網(wǎng)關(guān)為 br0 接口地址。

root@298bbb17c244:/# route add default gw 172.17.42.2

另外,刪除該接口的命令為

$ sudo. /ovs-docker del-port br0 eth0 <CONTAINER_ID>

實(shí)際上,Docker 社區(qū)也已經(jīng)有討論對(duì) OpenvSwitch 的支持了。 在 Docker 原生支持 OpenvSwitch 之前,用戶可以通過編寫腳本或更高級(jí)的工具來讓這一過程自動(dòng)化。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker容器映射tcp或udp端口-如何通過docker-compose.yml

    docker容器映射tcp或udp端口-如何通過docker-compose.yml

    這篇文章主要介紹了docker容器映射tcp或udp端口-如何通過docker-compose.yml問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • docker啟動(dòng)mysql及-e MYSQL_ROOT_PASSWORD=my-secret-pw問題解決

    docker啟動(dòng)mysql及-e MYSQL_ROOT_PASSWORD=my-secret-pw問題解決

    本文主要介紹了docker啟動(dòng)mysql及-e MYSQL_ROOT_PASSWORD=my-secret-pw問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Docker的文件系統(tǒng)映射:主機(jī)與容器間目錄的雙向映射詳解

    Docker的文件系統(tǒng)映射:主機(jī)與容器間目錄的雙向映射詳解

    通過Docker的目錄映射功能,實(shí)現(xiàn)主機(jī)與容器間的數(shù)據(jù)共享與持久化存儲(chǔ),使用-v或--mount參數(shù)在運(yùn)行時(shí)設(shè)置主機(jī)與容器目錄映射,或通過DockerCompose配置文件實(shí)現(xiàn)自動(dòng)化,此功能提升數(shù)據(jù)管理靈活性和效率
    2024-11-11
  • Docker中安裝Redis并開啟遠(yuǎn)程訪問的詳細(xì)步驟

    Docker中安裝Redis并開啟遠(yuǎn)程訪問的詳細(xì)步驟

    這篇文章主要介紹了Docker中安裝Redis并開啟遠(yuǎn)程訪問的詳細(xì)步驟,文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2025-01-01
  • 詳解docker-compose.yml文件常用模版命令

    詳解docker-compose.yml文件常用模版命令

    這篇文章主要介紹了docker-compose.yml文件常用模版命令,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • 在Linux Ubuntu系統(tǒng)上使用Docker部署Android模擬器的操作指南

    在Linux Ubuntu系統(tǒng)上使用Docker部署Android模擬器的操作指南

    大家好,今天要給大家?guī)硪粋€(gè)超級(jí)實(shí)用的教程:如何在Linux Ubuntu系統(tǒng)上使用Docker部署Android模擬器,并結(jié)合cpolar內(nèi)網(wǎng)穿透工具實(shí)現(xiàn)遠(yuǎn)程訪問,需要的朋友可以參考下
    2025-03-03
  • docker實(shí)現(xiàn)本地seata分布式環(huán)境搭建詳解

    docker實(shí)現(xiàn)本地seata分布式環(huán)境搭建詳解

    這篇文章主要為大家詳細(xì)介紹了docker實(shí)現(xiàn)本地seata分布式環(huán)境搭建的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下
    2024-03-03
  • 使用Docker部署Dashdot服務(wù)器儀表盤的步驟

    使用Docker部署Dashdot服務(wù)器儀表盤的步驟

    Dashdot是一款簡(jiǎn)單、實(shí)用的開源服務(wù)器儀表盤,設(shè)計(jì)時(shí)考慮到了玻璃形態(tài),它旨在用于較小的?VPS?和私人服務(wù)器,這篇文章主要介紹了使用Docker部署Dashdot服務(wù)器儀表盤,需要的朋友可以參考下
    2022-12-12
  • Docker超詳細(xì)講解鏡像操作

    Docker超詳細(xì)講解鏡像操作

    鏡像也是?docker?的核心組件之一,鏡像時(shí)容器運(yùn)行的基礎(chǔ),容器是鏡像運(yùn)行后的形態(tài)。本文主要介紹Docker鏡像的基本操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • MySQL docker容器數(shù)據(jù)更新統(tǒng)計(jì)shell腳本代碼方式

    MySQL docker容器數(shù)據(jù)更新統(tǒng)計(jì)shell腳本代碼方式

    本文介紹了如何創(chuàng)建和配置一個(gè)腳本文件,使其能夠每隔一小時(shí)執(zhí)行一次,用于更新MySQL統(tǒng)計(jì)信息,腳本使用Docker來執(zhí)行MySQL命令,并將結(jié)果保存到文件中,文章還強(qiáng)調(diào)了權(quán)限設(shè)置和配置定時(shí)任務(wù)的步驟
    2025-01-01

最新評(píng)論

保康县| 岗巴县| 美姑县| 乾安县| 怀集县| 洛川县| 长治县| 东丽区| 梁河县| 米易县| 新野县| 苏尼特左旗| 安阳县| 贵阳市| 湖口县| 财经| 合作市| 红原县| 长宁区| 清原| 隆回县| 金华市| 高尔夫| 松桃| 赤水市| 龙山县| 兴隆县| 边坝县| 方正县| 江门市| 余干县| 遂平县| 申扎县| 龙里县| 嵊州市| 抚宁县| 宣武区| 玉溪市| 柞水县| 彭泽县| 精河县|