?
このドキュメントでは、 php中國語ネットマニュアル リリース
創(chuàng)建網(wǎng)絡
docker network create [OPTIONS] NETWORK
名稱,簡寫 | 默認 | 描述 |
---|---|---|
--attachable | false | 啟用手動容器附件 |
--aux地址 | map[] | 網(wǎng)絡驅動程序使用的輔助IPv4或IPv6地址 |
--config-from | 從中復制配置的網(wǎng)絡 | |
--config-only | false | 創(chuàng)建一個僅配置網(wǎng)絡 |
--driver,-d | bridge | 驅動程序來管理網(wǎng)絡 |
--gateway | 主子網(wǎng)的IPv4或IPv6網(wǎng)關 | |
--ingress | false | 創(chuàng)建群體路由網(wǎng)狀網(wǎng)絡 |
--internal | false | 限制對網(wǎng)絡的外部訪問 |
--ip-range | 從子范圍分配容器IP | |
--ipam-driver | default | IP地址管理驅動程序 |
--ipam-opt | map[] | 設置IPAM驅動程序特定選項 |
--ipv6 | false | 啟用IPv6網(wǎng)絡 |
--label | 在網(wǎng)絡上設置元數(shù)據(jù) | |
--opt, -o | map[] | 設置驅動程序特定選項 |
--scope | 控制網(wǎng)絡的范圍 | |
--subnet | 表示網(wǎng)段的CIDR格式的子網(wǎng) |
命令 | 描述 |
---|---|
docker網(wǎng)絡 | 管理網(wǎng)絡 |
命令 | 描述 |
---|---|
docker network connect | 將容器連接到網(wǎng)絡 |
docker network create | 創(chuàng)建一個網(wǎng)絡 |
docker network disconnect | 從網(wǎng)絡斷開容器 |
docker network inspect | 顯示一個或多個網(wǎng)絡的詳細信息 |
docker network ls | 列出網(wǎng)絡 |
docker network prune | 刪除所有未使用的網(wǎng)絡 |
docker network rm | 刪除一個或多個網(wǎng)絡 |
創(chuàng)建一個新的網(wǎng)絡。在DRIVER
接受bridge
或者overlay
它們是內(nèi)置的網(wǎng)絡驅動程序。如果您已經(jīng)安裝了第三方或您自己的自定義網(wǎng)絡驅動程序,您也可以DRIVER
在此處指定。如果您不指定該--driver
選項,該命令將自動bridge
為您創(chuàng)建一個網(wǎng)絡。當您安裝Docker Engine時,它會bridge
自動創(chuàng)建一個網(wǎng)絡。該網(wǎng)絡對應于docker0
引擎?zhèn)鹘y(tǒng)依賴的橋梁。當你啟動一個新的容器時,docker run
它會自動連接到這個網(wǎng)橋。您無法刪除此默認橋接網(wǎng)絡,但可以使用該network create
命令創(chuàng)建新橋接網(wǎng)絡。
$ docker network create -d bridge my-bridge-network
橋接網(wǎng)絡是單個引擎安裝中的隔離網(wǎng)絡。如果您想創(chuàng)建一個跨多個運行引擎的多個Docker主機的overlay
網(wǎng)絡,則必須創(chuàng)建一個網(wǎng)絡。與bridge
網(wǎng)絡不同,覆蓋網(wǎng)絡在創(chuàng)建之前需要一些預先存在的條件。這些條件是:
訪問鍵值存儲。引擎支持Consul,Etcd和ZooKeeper(分布式存儲)鍵值存儲。
連接到鍵值存儲的主機集群。
daemon
集群中每臺主機上配置正確的引擎。
dockerd
支持overlay
網(wǎng)絡的選項有:
--cluster-store
--cluster-store-opt
--cluster-advertise
要詳細了解這些選項以及如何配置它們,請參閱“ 多主機網(wǎng)絡入門 ”。
雖然不是必需的,但安裝Docker Swarm來管理組成網(wǎng)絡的集群是一個不錯的主意。Swarm提供了復雜的發(fā)現(xiàn)和服務器管理工具,可以幫助您實施。
準備好overlay
網(wǎng)絡先決條件后,只需在集群中選擇Docker主機并發(fā)出以下命令即可創(chuàng)建網(wǎng)絡:
$ docker network create -d overlay my-multihost-network
網(wǎng)絡名稱必須是唯一的。Docker守護進程嘗試識別命名沖突,但不能保證。避免名稱沖突是用戶的責任。
當您啟動容器時,請使用--network
標志將其連接到網(wǎng)絡。本例將busybox
容器添加到mynet
網(wǎng)絡中:
$ docker run -itd --network=mynet busybox
如果要在容器已經(jīng)運行后將容器添加到網(wǎng)絡,請使用docker network connect
子命令。
您可以將多個容器連接到同一個網(wǎng)絡。連接后,容器只能使用另一個容器的IP地址或名稱進行通信。對于overlay
支持多主機連接的網(wǎng)絡或自定義插件,連接到相同多主機網(wǎng)絡但從不同引擎啟動的容器也可以通過這種方式進行通信。
您可以使用該docker network disconnect
命令從網(wǎng)絡斷開容器。
在創(chuàng)建網(wǎng)絡時,Engine默認會為網(wǎng)絡創(chuàng)建一個不重疊的子網(wǎng)。這個子網(wǎng)不是現(xiàn)有網(wǎng)絡的細分。這純粹是為了ip地址的目的。您可以覆蓋此默認值并直接使用--subnet
選項指定子網(wǎng)值。在bridge
網(wǎng)絡上,您只能創(chuàng)建一個子網(wǎng):
$ docker network create --driver=bridge --subnet=192.168.0.0/16 br0
另外,您還可以指定--gateway
--ip-range
和--aux-address
選項。
$ docker network create \ --driver=bridge \ --subnet=172.28.0.0/16 \ --ip-range=172.28.5.0/24 \ --gateway=172.28.5.254 \ br0
如果您省略--gateway
標志,引擎會從首選池中為您選擇一個。對于overlay
網(wǎng)絡和支持它的網(wǎng)絡驅動程序插件,您可以創(chuàng)建多個子網(wǎng)。
$ docker network create -d overlay \ --subnet=192.168.0.0/16 \ --subnet=192.170.0.0/16 \ --gateway=192.168.0.100 \ --gateway=192.170.0.100 \ --ip-range=192.168.1.0/24 \ --aux-address="my-router=192.168.1.5" --aux-address="my-switch=192.168.1.6" \ --aux-address="my-printer=192.170.1.5" --aux-address="my-nas=192.170.1.6" \ my-multihost-network
確保你的子網(wǎng)不重疊。如果他們這樣做,網(wǎng)絡創(chuàng)建失敗,引擎返回錯誤。
在創(chuàng)建自定義網(wǎng)絡時,默認網(wǎng)絡驅動程序(即bridge
)具有可以傳遞的其他選項。以下是用于docker0橋的那些選項和等效的docker守護進程標志:
選項 | 當量 | 描述 |
---|---|---|
com.docker.network.bridge.name | - | 在創(chuàng)建Linux橋時要使用的橋名稱 |
com.docker.network.bridge.enable_ip_masquerade | --ip-masq | 啟用IP偽裝 |
com.docker.network.bridge.enable_icc | --icc | 啟用或禁用集裝箱間連接 |
com.docker.network.bridge.host_binding_ipv4 | --ip | 綁定容器端口時的默認IP |
com.docker.network.driver.mtu | --mtu | 設置容器網(wǎng)絡MTU |
以下參數(shù)可以傳遞給docker network create
任何網(wǎng)絡驅動程序,同樣也可以傳遞給它們的近似等價物docker daemon
。
論據(jù) | 當量 | 描述 |
---|---|---|
--gateway | - | 主子網(wǎng)的IPv4或IPv6網(wǎng)關 |
--ip范圍 | --fixed,CIDR | 從一個范圍分配IP |
- 內(nèi)部 | - | 限制對網(wǎng)絡的外部訪問 |
--ipv6 | --ipv6 | 啟用IPv6網(wǎng)絡 |
--subnet | --bip | 網(wǎng)絡子網(wǎng) |
例如,讓我們使用-o
或--opt
在發(fā)布端口時指定IP地址綁定的選項:
$ docker network create \ -o "com.docker.network.bridge.host_binding_ipv4"="172.19.0.1" \ simple-network
默認情況下,當您將容器連接到overlay
網(wǎng)絡時,Docker也會將橋接網(wǎng)絡連接到它以提供外部連接。如果您想創(chuàng)建一個外部隔離的overlay
網(wǎng)絡,您可以指定該--internal
選項。
您可以創(chuàng)建將用于在群集中提供路由網(wǎng)格的網(wǎng)絡。您可以通過--ingress
在創(chuàng)建網(wǎng)絡時指定。當時只能創(chuàng)建一個入口網(wǎng)絡。只有在沒有服務依賴它的情況下才能刪除網(wǎng)絡。除了--attachable
選項之外,創(chuàng)建入口網(wǎng)絡時創(chuàng)建覆蓋網(wǎng)絡時可用的任何選項也可用。
$ docker network create -d overlay \ --subnet=10.11.0.0/16 \ --ingress \ --opt com.docker.network.mtu=9216 \ --opt encrypted=true \ my-ingress-network