亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Docker基礎 :網絡配置詳解

2024-09-01 13:50:41
字體:
來源:轉載
供稿:網友

大量的互聯網應用服務包含多個服務組件,這往往需要多個容器之間通過網絡通信進行相互配合。Docker 目前提供了映射容器端口到宿主主機和容器互聯機制來為容器提供網絡服務。接下來我們將講述 Docker 的網絡功能,包括使用端口映射機制來將容器內應用服務提供給外部網絡,以及通過容器互聯系統讓多個容器之間進行快捷的網絡通信。

端口映射實現訪問容器

從外部訪問容器應用

在啟動容器的時候,如果不指定對應的參數,在容器外部是無法通過網絡來訪問容器內的網絡應用和服務的。當容器中運行了一些網絡應用,要讓外部訪問這些應用時,可以通過 -P 或 -p 參數來指定端口映射。當使用 -P 參數時,Docker 會隨機選擇一個主機可用的端口映射至容器內部開放的網絡端口:

$ docker run -d -P training/webapp python app.py

使用 docker ps 命令查看一下映射結果:

docker,網絡配置,docker容器網絡配置,docker的網絡配置

我這里主機的 32768 端口映射到了容器的 5000 端口。此時訪問主機的 32768 端口就可以訪問容器內 web 應用提供的內容。
-p (小寫)參數則可以指定要映射的主機端口。注意,在一個指定的主機端口上只能綁定一個容器。我們可以通過不同的參數格式映射主機和容器之間的端口:

Ip:hostPort:containerPort

Ip::containerPort

hostPort:containerPort

映射所有接口地址

使用 hostPort:containerPort 格式將本地的 5000 端口映射到容器的 5000 端口,可以執行如下命令:

$ sudo docker run -d -p 5000:5000 training/webapp python app.py

此時默認會綁定本地所有接口上的所有地址(如果主機有多個 IP,那么每個 IP 的 5000 端口都映射到了容器的 5000 端口)。

多次使用 -p 參數可以綁定多個端口:

$ sudo docker run -d -p 5000:5000 -p 3000:80 training/webapp python app.py

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

可以使用 ip:hostPort:containerPort 格式的參數指定映射使用一個特定地址,比如 localhost 地址 127.0.0.1:

$ sudo docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

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

使用 ip::containerPort 格式的參數可以綁定 localhost 的任意端口到容器的 5000 端口,本地主機會自動分配一個端口:

$ sudo docker run -d -p 127.0.0.1::5000 training/webapp python app.py

另外還可以使用 udp 標記來指定 udp 端口:

$ sudo docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

查看映射端口配置

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

docker,網絡配置,docker容器網絡配置,docker的網絡配置

上圖中 mad_einstein 是容器的名字,32768 是容器的 5000 端口映射到主機上的端口。

容器互聯實現容器間通信

容器的連接(linking)系統是除了端口映射外另一種可以與容器中應用進行交互的方式。它會在源和接收容器之間創建一個隧道,接收容器可以看到源容器指定的信息。

自定義容器命名

連接系統依據容器的名稱來執行。因此,首先需要自定義一個好記的容器名稱。雖然當創建容器的時候,系統默認會分配一個名字,但自定義命名容器有兩個好處:

1.    自定義的名稱比較好記。

2.    當要連接其他容器的時候,可以作為一個有用的參考點,比如連接 web 容器到 db 容器。

使用 –name 標記可以為容器自定義名稱:

$ sudo docker run -d -P –name web training/webapp python app.py

使用 docker ps 來驗證設定的名稱:

docker,網絡配置,docker容器網絡配置,docker的網絡配置

也可以使用 docker inspect 來查看容器的名稱:

docker,網絡配置,docker容器網絡配置,docker的網絡配置

注意,容器的名稱是唯一的。如果已經命名了一個叫 web 的容器,當你要再次使用 web 這個名稱的時候,需要先用 docker rm 來刪除之前創建的同名容器。在執行 docker run 的時候如果添加 – rm 標記,則容器在終止后會立刻刪除。但 – rm 和 -d 不能同時使用。

容器互聯

使用 –link 參數可以讓容器之間安全的進行交互。

下面先創建一個新的數據庫容器:

$ sudo docker run -d –name db training/postgres

刪除之前創建的web容器:

$ sudo docker rm -f web

然后創建一個新的 web 容器,并將它連接到 db 容器:

$ sudo docker run -d -P –name web –link db:db training/webapp python app.py

此時,db 容器和 web 容器建立互聯關系。

--link 參數的格式為 –link name:alias,其中 name 是要連接的容器的名稱,alias 是這個連接的別名。

Docker 在兩個互聯的容器之間創建了一個安全隧道,而且不用映射它們的端口到宿主主機上。在啟動 db 容器的時候沒有使用 -p 和 -P 標記,從而避免了暴露數據庫端口到外部網絡上。

Docker 通過兩種方式為容器公開連接信息:

1.    環境變量。

2.    更新 /etc/hosts文件。

使用 env 命令來查看 web 容器的環境變量:

$ sudo docker run –rm –name web2 –link db:db training/webapp python app.py env

docker,網絡配置,docker容器網絡配置,docker的網絡配置

其中 DB_ 開頭的環境變量是供 web 容器連接 db 容器使用的。

除了環境變量,Docker 還添加了 host 信息到容器的 /etc/hosts 文件中。下面查看web容器的 hosts 文件:

$ sudo docker run -t -I –rm –link db:db training/webapp /bin/bash

docker,網絡配置,docker容器網絡配置,docker的網絡配置

上圖中有兩個 host 信息,第一個是 db 容器的名稱 ip 和主機名。第二個是 web 容器,web 容器用自己的 id 作為默認主機名。我們可以通過 ping 命令測試 web 容器到db容器的連接:

docker,網絡配置,docker容器網絡配置,docker的網絡配置

如圖所示,名稱 db 被解析成了 172.17.0.24。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91精品高潮白浆喷水| 国产精品video| 国产在线a不卡| 日韩视频一区在线| 欧美成人精品在线观看| 高清亚洲成在人网站天堂| 欧美午夜久久久| 欧美中文在线观看国产| 97在线观看免费高清| 亚洲欧美日韩在线高清直播| 韩国精品美女www爽爽爽视频| 亚洲欧洲日产国产网站| 国产精品一区二区3区| 国内精品免费午夜毛片| 一区三区二区视频| 亚洲sss综合天堂久久| 91产国在线观看动作片喷水| 国产精品色婷婷视频| 69久久夜色精品国产69乱青草| 日韩高清电影免费观看完整| 欧美日韩国产在线| 欧美小视频在线观看| 日韩精品视频免费专区在线播放| 亚洲少妇中文在线| 亚洲美女av在线| 日韩免费观看av| 欧美二区在线播放| 在线视频中文亚洲| 亚洲人av在线影院| 日韩高清电影免费观看完整| 国产精品1区2区在线观看| 亚洲欧美国产精品专区久久| 黑人极品videos精品欧美裸| 米奇精品一区二区三区在线观看| 日韩视频免费在线观看| 精品久久久久久中文字幕一区奶水| 视频一区视频二区国产精品| 国产成人免费av电影| 国产91网红主播在线观看| 一个人看的www久久| 国产z一区二区三区| 福利一区福利二区微拍刺激| 欧美日韩国产综合视频在线观看中文| 国产精品美女久久| 国产又爽又黄的激情精品视频| 日韩免费黄色av| 亚洲天堂成人在线| 欧美激情三级免费| 日韩国产激情在线| 欧美专区在线播放| 国产日产久久高清欧美一区| 久久精品国产亚洲精品2020| 精品国产一区二区三区久久狼5月| 在线看日韩av| 久久精品成人动漫| 91精品在线影院| 中文字幕久久亚洲| 国产精品大片wwwwww| 久久噜噜噜精品国产亚洲综合| 久久久噜噜噜久久| 欧美与欧洲交xxxx免费观看| 亚洲精品成人免费| 欧美乱妇高清无乱码| 日韩一区二区av| 欧美成人黑人xx视频免费观看| 色综合老司机第九色激情| 日韩视频欧美视频| 欧美日韩国产综合新一区| 国产在线观看精品一区二区三区| 亚洲成avwww人| 欧美高清一级大片| 在线观看精品自拍私拍| 国产在线98福利播放视频| 国产精品亚洲欧美导航| 91sa在线看| 国产精品扒开腿做| 日韩av一区二区在线观看| 国产精品亚洲精品| 亚洲国产91色在线| 俺去亚洲欧洲欧美日韩| 欧美午夜丰满在线18影院| 亚洲欧美日韩一区二区在线| 欧美精品aaa| 亚洲精品福利资源站| 国产日韩视频在线观看| 性欧美亚洲xxxx乳在线观看| 成人444kkkk在线观看| 欧美日韩国产一区中文午夜| 国产欧美在线观看| 国产精品久久中文| 亚洲国产一区二区三区在线观看| 91久久久久久久久| 亚洲激情成人网| 国产视频福利一区| 国产视频久久久久| 国产精品免费观看在线| 国产精品久久久久77777| 欧美最近摘花xxxx摘花| 在线午夜精品自拍| 亚洲乱码国产乱码精品精天堂| 69久久夜色精品国产69乱青草| 国产精品久久电影观看| 精品久久久一区| 日韩欧美在线一区| 亚洲欧美一区二区三区久久| 国产成人高潮免费观看精品| 日韩欧美在线观看| 日韩专区中文字幕| 91黄色8090| 国产福利视频一区二区| 91经典在线视频| 国产精品爽爽爽爽爽爽在线观看| 最近中文字幕mv在线一区二区三区四区| 亚洲欧美成人在线| 亚洲精品白浆高清久久久久久| 91九色国产在线| 久久99精品国产99久久6尤物| 91精品成人久久| 中文字幕av一区二区三区谷原希美| 成人精品视频99在线观看免费| 懂色av中文一区二区三区天美| 日韩亚洲成人av在线| 欧美日韩精品在线视频| 一区二区三区无码高清视频| 久久99久久亚洲国产| 久久99热精品这里久久精品| 亚洲xxxx视频| 欧美激情xxxx性bbbb| 69影院欧美专区视频| 91精品国产91| 日韩在线视频免费观看高清中文| 在线电影av不卡网址| 欧美亚洲第一区| 欧美黄网免费在线观看| 亚洲成人激情在线观看| 韩国美女主播一区| 日本精品一区二区三区在线播放视频| 国产精品视频自在线| 成人亚洲激情网| 日韩免费观看高清| 26uuu另类亚洲欧美日本老年| 亚洲va欧美va国产综合剧情| 久久久久久久久久久人体| 欧洲成人在线观看| 国产精品成熟老女人| 黄色91在线观看| 欧美国产日韩一区二区在线观看| 91亚洲精品在线观看| 欧美视频在线观看免费| 国产精品入口免费视| 欧美激情啊啊啊| 视频一区视频二区国产精品| 日韩激情av在线播放| 日本欧美在线视频| 国产噜噜噜噜噜久久久久久久久| 欧美性xxxxx极品娇小| 久久大大胆人体| 亚洲片av在线| 国产高清视频一区三区| 欧美中文字幕精品| 国产精品入口夜色视频大尺度| 久久天天躁狠狠躁夜夜av| 亚洲伦理中文字幕| 国产亚洲精品美女|