欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

docker的網(wǎng)絡管理(1)

  • Docker 中的網(wǎng)絡功能介紹

    創(chuàng)新互聯(lián)建站是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務,在本地打下了良好的口碑,在過去的十載時間我們累計服務了上千家以及全國政企客戶,如成都塑料袋等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質(zhì)量監(jiān)控加上過硬的技術實力獲得客戶的一致稱譽。

默認情況下,容器可以建立到外部網(wǎng)絡的連接,但是外部網(wǎng)絡無法連接到容器。

Docker 允許通過外部訪問容器或容器互聯(lián)的方式來提供網(wǎng)絡服務

外部訪問容器:

容器中可以運行一些網(wǎng)絡應用,要讓外部也可以訪問這些應用,可以通過  -P  或  -p  參數(shù)來指定端口映射。

實驗環(huán)境:

Centos7運行一個容器,提供web服務和ssh服務

宿主機啟用路由轉發(fā)(net.ipv4.ip_forward=1)

實驗步驟:

之前已經(jīng)創(chuàng)建好鏡像啦

執(zhí)行docker p_w_picpaths查看新生成的鏡像

docker的網(wǎng)絡管理(1)

當使用–P(大寫)標記時,Docker 會隨機映射一個隨機的端口到內(nèi)部容器開放的網(wǎng)絡端口。

注:-P使用時需要指定--expose選項或dockerfile中用expose指令容器要暴露的端口,指定需要對外提供服務的端口

使用 docker ps  可以看到,本地主機的32770被映射到了容器的22端口,本地主機的32769被映射到了容器的80端口,本地主機的32768被映射到了容器的443 端口

 

此時訪問本機的 32770端口即可訪問容器內(nèi) ssh 應用

查看容器運行的httpd進程

注:192.168.190.128是宿主機目錄

docker的網(wǎng)絡管理(1)

此時訪問本機的 32769端口即可訪問容器內(nèi) web 應用

docker的網(wǎng)絡管理(1)

-p(小寫)則可以指定要映射的端口,并且,在一個指定端口上只可以綁定一個容器

注意:

容器有自己的內(nèi)部網(wǎng)絡和 ip 地址(使用  docker inspect  可以獲取所有的變量。)

-p 標記可以多次使用來綁定多個端口

 

映射所有接口地址:

使用 hostPort:containerPort 格式,將本地的10111端口映射到容器的 22 端口,本地的801端口映射到容器的80端口可以執(zhí)行

docker的網(wǎng)絡管理(1)

測試訪問:

1)ssh測試:

使用xshell工具:

docker的網(wǎng)絡管理(1)

docker的網(wǎng)絡管理(1)

docker的網(wǎng)絡管理(1)

docker的網(wǎng)絡管理(1)

測試web訪問

docker的網(wǎng)絡管理(1)

映射到指定地址的指定端口

可以使用 ip:hostPort:containerPort 格式,指定映射使用一個特定地址

docker的網(wǎng)絡管理(1)

映射到指定地址的任意端口

使用 ip::containerPort 綁定192.168.190.128的任意端口到容器的80端口,本地主機會自動分配一個口。--name為啟動的容器指定一個容器名

docker的網(wǎng)絡管理(1)

使用 docker port 來查看當前映射的端口配置,也可以查看到綁定的地址

docker的網(wǎng)絡管理(1)

Docker NAT iptables實現(xiàn)

默認情況下,容器可以主動訪問到外部網(wǎng)絡的連接,但是外部網(wǎng)絡無法訪問到容器

 

容器訪問外部實現(xiàn)

容器所有到外部網(wǎng)絡的連接,源地址都會被 NAT 成本地系統(tǒng)的 IP 地址(即docker0地址)。這是使用 iptables 的源地址偽裝操作實現(xiàn)的

查看主機的 NAT 規(guī)則

docker的網(wǎng)絡管理(1)

外部訪問容器實現(xiàn)

容器允許外部訪問,可以在 docker run 時候通過 -p 或 -P 參數(shù)來啟用,不管用那種辦法,其實也是在本地的 iptable 的 nat 表中添加相應的規(guī)則

使用 -P 時

docker的網(wǎng)絡管理(1)

iptables -t nat –nvL

docker的網(wǎng)絡管理(1)

使用 -p 80:80 時

docker的網(wǎng)絡管理(1)

iptables -t nat –nvL

docker的網(wǎng)絡管理(1)

docker0 網(wǎng)橋

Docker服務默認會創(chuàng)建一個 docker0 網(wǎng)橋(其上有一個 docker0 內(nèi)部接口),它在內(nèi)核層連通了其他的物理或虛擬網(wǎng)卡,這就將所有容器和本地主機都放到同一個物理網(wǎng)絡。

Docker默認指定了 docker0 接口的 IP 地址和子網(wǎng)掩碼,讓主機和容器之間可以通過網(wǎng)橋相互通信

由于目前 Docker 網(wǎng)橋是 Linux 網(wǎng)橋,用戶可以使用 brctl show 來查看網(wǎng)橋和端口連接信息

docker的網(wǎng)絡管理(1)

注:brctl 命令在centos中可以使用yum  install bridge-utils 來安裝

每次創(chuàng)建一個新容器的時候,Docker 從可用的地址段中選擇一個空閑的 IP 地址分配給容器的 eth0端口。使用本地主機上 docker0 接口的 IP 作為所有容器的默認網(wǎng)關

docker的網(wǎng)絡管理(1)

docker的網(wǎng)絡管理(1)

docker的網(wǎng)絡管理(1)

docker的網(wǎng)絡管理(1)

Docker網(wǎng)絡配置

Docker四種網(wǎng)絡模式

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

  • host模式,使用 --net=host 指定。

  • container模式,使用 --net=container:NAMEorID 指定。

  • none模式,使用 --net=none 指定。

bridge模式,使用 --net=bridge 指定,默認設置

host模式

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

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

啟動容器前,執(zhí)行pgrep http查看宿主機httpd進程

docker的網(wǎng)絡管理(1)

上面顯示結果說明宿主機沒有httpd進程運行

用 host 模式啟動一個含有 web 應用的 Docker 容器

docker的網(wǎng)絡管理(1)

docker的網(wǎng)絡管理(1)

用瀏覽器訪問宿主機地址的80端口

注意防火墻

docker的網(wǎng)絡管理(1)

docker的網(wǎng)絡管理(1)

container 模式

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

運行一個容器:查看容器的IP

docker的網(wǎng)絡管理(1)

將容器切換到后臺運行:ctrl+p  ctrl+q

在運行一個容器使用container模式:查看新容器的地址

docker的網(wǎng)絡管理(1)

將這個網(wǎng)絡設備加入到docker0網(wǎng)橋中,可以通過brctl show命令查看;從docker0子網(wǎng)中分配一個IP給容器使用,并設置docker0的IP地址為容器的默認網(wǎng)關。

容器內(nèi)部訪問外網(wǎng)以及容器和主機之間的端口映射都是通過Iptables實現(xiàn)的,可以查看Iptables表分析。

 

查看當前 docker0地址

docker的網(wǎng)絡管理(1)

在容器運行時,每個容器都會分配一個特定的虛擬機口并橋接到 docker0。每個容器都會配置同 docker0 ip 相同網(wǎng)段的專用 ip 地址,docker0 的 IP 地址被用于所有容器的默認網(wǎng)關。

運行一個容器

并且查看

docker的網(wǎng)絡管理(1)

通過brctl show命令查看

docker的網(wǎng)絡管理(1)

執(zhí)行docker  network inspect  bridge查看橋接網(wǎng)絡的詳細信息

docker的網(wǎng)絡管理(1)

自定義網(wǎng)橋

除了默認的 docker0  網(wǎng)橋,用戶也可以指定網(wǎng)橋來連接各個容器。在啟動 Docker 服務的時候,使用  -b BRIDGE 或 --bridge=BRIDGE  來指定使用的網(wǎng)橋。

Docker允許你管理 docker0 橋接或者通過-b選項自定義橋接網(wǎng)卡,需要安裝bridge-utils軟件包。

基本步驟如下:

1.確保 docker 的進程是停止的

2.創(chuàng)建自定義網(wǎng)橋

3.給網(wǎng)橋分配特定的 ip

4.以 -b 的方式指定網(wǎng)橋

 

具體操作步驟:

如果服務已經(jīng)運行,那需要先停止服務,并刪除舊的網(wǎng)橋

docker的網(wǎng)絡管理(1)

然后創(chuàng)建一個網(wǎng)橋  bridge0,給網(wǎng)橋分配特定的 ip

docker的網(wǎng)絡管理(1)

查看確認網(wǎng)橋創(chuàng)建并啟動

(兩種方法)

docker的網(wǎng)絡管理(1)

修改/etc/sysconfig/docker文件

添加 –b=bridge0

docker的網(wǎng)絡管理(1)

啟動 Docker 服務

docker的網(wǎng)絡管理(1)

新建一個容器,可以看到它已經(jīng)橋接到了  bridge0 上

docker的網(wǎng)絡管理(1)

進入容器,查看容器的IP

docker的網(wǎng)絡管理(1)

docker服務啟動成功并綁定容器到新的網(wǎng)橋,新建一個容器,你會看到它的 ip 是我們的設置的新 ip段, docker 會自動檢測到它。用 brctl show 可以看到容器啟動或則停止后網(wǎng)橋的配置變化,在容器中使用 ip a和 ip r 來查看 ip 地址配置和路由信息。

 

下面通過配置一個以 --net=none 啟動的容器,使他達到跟平常一樣具有訪問網(wǎng)絡的權限。來介紹docker 是如何連接到容器中的。

 

啟動一個運行 /bin/bash的容器,并指定 --net=none

docker的網(wǎng)絡管理(1)

再開啟一個新的終端,查找這個容器的進程 id ,然后創(chuàng)建它的命名空間,后面的 ip netns 會用到

docker的網(wǎng)絡管理(1)

docker的網(wǎng)絡管理(1)

檢查橋接網(wǎng)卡的 ip 和子網(wǎng)掩碼

docker的網(wǎng)絡管理(1)

創(chuàng)建一對” peer“接口A 和 B ,綁定 A 到網(wǎng)橋,并啟用它

docker的網(wǎng)絡管理(1)

將 B 放到容器的網(wǎng)絡命名空間,命名為 eth0, 配置一個空閑的 ip

docker的網(wǎng)絡管理(1)

可以使用網(wǎng)絡了

docker的網(wǎng)絡管理(1)


本文名稱:docker的網(wǎng)絡管理(1)
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article28/iijojp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、商城網(wǎng)站App設計、微信小程序、網(wǎng)站收錄、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管
久久五十路初次拍五十路| 熟女中文字幕一区二区| 久久精品色妇熟妇丰满人妻| 中文字幕乱码日韩一区| 亚洲高清有码在线观看| 国产日韩精品欧美综合区| 人妖激情一区二区三区| 丰满人妻熟妇乱精品视频| 国产三级精品在线免费| 日本经典三级视频在线观看| 欧洲一区二区在线激情| 一区二区不卡日韩av| 国语对白刺激真实精品| 亚洲激情视频在线视频| 国产精品久久一区二区三区蜜桃| 色婷婷中文字幕久久久| 中文字幕成人在线电影| 成年人免费视频网站国产| 欧美一级免费黄片在线播放| 中文字幕日韩一区二区| 日韩电影网国产精品| 亚洲天堂av在线有码| 日本熟妇色在线视频不卡| 日本美女阴部毛茸茸视频| 日本福利一区二区三区| 日韩在线视频观看一区二区三区| 国产自拍偷拍自拍偷拍| 亚洲国产精品午夜福利在线播放| 中文字幕日韩手机在线| 日本在线观看高清区一区二| 国产午夜18久久久| 精品一区二区久久久久久| 久久成人a毛片免费观看网站| 99久在线观看精品视频| 青青草国产精品一区二区| 亚洲大陆免费在线视频| 日本午夜激情一区二区| 久久亚洲春色中文字幕| av人妻熟女少妇蒂亚| 国产精品国产三级专区| 亚洲综合色视频在线播放|