亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker 網(wǎng)絡(luò)命令詳解

 更新時(shí)間:2017年06月13日 08:47:52   作者:Aiapple  
這篇文章主要詳細(xì)介紹了Docker 網(wǎng)絡(luò)命令的相關(guān)資料,需要的朋友可以參考下

•docker network create
•docker network connect
•docker network ls
•docker network rm
•docker network disconnect
•docker network inspect

創(chuàng)建網(wǎng)絡(luò)

zane@zane-V:~$ docker network create simple-network
zane@zane-V:~$ docker network inspect simple-network
 {
  "Name": "simple-network",
  "Id": "8bf58f43c56622d1100f7da9ef6506e45a4aa68556b586311f3756130c311d75",
  "Scope": "local",
  "Driver": "bridge",
  "EnableIPv6": false,
  "IPAM": {
   "Driver": "default",
   "Options": {},
   "Config": [
    {
     "Subnet": "172.20.0.0/16",
     "Gateway": "172.20.0.1/16"
    }
   ]
  },
  "Internal": false,
  "Containers": {},
  "Options": {},
  "Labels": {}
 }

•進(jìn)入一個(gè)鍵值存儲(chǔ)。引擎支持Consul,Etcd,ZooKeeper.
•在群集中的每個(gè)主機(jī)上正確配置的deamon引擎

支持overlay網(wǎng)絡(luò)的docker選項(xiàng):

•--cluster-store-opt

使用--subnet選項(xiàng)直接指定子網(wǎng)絡(luò),在bridge網(wǎng)絡(luò)中只可以指定一個(gè)子網(wǎng)絡(luò),而在overlay網(wǎng)絡(luò)中支持多個(gè)子網(wǎng)絡(luò)。
除了--subnet,還可以指定:--gateway,--ip-range,--aux-address選項(xià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-switch=192.168.1.6" \
--aux-address="my-nas=192.170.1.6" \

如何要?jiǎng)?chuàng)建自己定制的網(wǎng)絡(luò),docker也是支持很多選項(xiàng)的。
可以指定網(wǎng)絡(luò)的端口號(hào):

$ docker run -d -P --name redis --network my-network redis
 
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bafb0c808c53 redis "/entrypoint.sh redis" 4 seconds ago Up 3 seconds 172.23.0.1:32770->6379/tcp redis
 

連接容器

可以連接已存在的容器到一個(gè)或者多個(gè)網(wǎng)絡(luò)中。一個(gè)容器可以連接到多個(gè)不同網(wǎng)絡(luò)驅(qū)動(dòng)的網(wǎng)絡(luò)中。
當(dāng)連接一旦建立,容器便可以可其他的容器通訊,通過(guò)IP 或者 容器名稱。

基本容器網(wǎng)絡(luò)實(shí)例:

1.創(chuàng)建兩個(gè)容器,container1 和 container2

$ docker run -itd --name=container1 busybox
 
$ docker run -itd --name=container2 busybox

zane@zane-V:~$ docker network create -d bridge --subnet 172.25.0.0/16 isolated_nw

3.連接container2到這個(gè)網(wǎng)絡(luò),然后驗(yàn)證一下:

zane@zane-V:~$ docker network connect isolated_nw container2
 
zane@zane-V:~$ docker network inspect isolated_nw
 {
  "Name": "isolated_nw",
  "Id": "a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b",
  "Scope": "local",
  "Driver": "bridge",
  "EnableIPv6": false,
  "IPAM": {
   "Driver": "default",
   "Options": {},
   "Config": [
    {
     "Subnet": "172.25.0.0/16"
    }
   ]
  },
  "Internal": false,
  "Containers": {
   "e9bce535ae32945f5e43340facdb6c16c93d92119e85b61c6cb7a5379a0caf63": {
    "Name": "container2",
    "EndpointID": "ef7244d32484407c3ec4aa30b7bdb0a6cbe3dbbfedc03e5c856ad20a08af172f",
    "MacAddress": "02:42:ac:19:00:02",
    "IPv4Address": "172.25.0.2/16",
    "IPv6Address": ""
   }
  },
  "Options": {},
  "Labels": {}
 }

注意container2,自動(dòng)分配到了IP地址。此時(shí)container1,仍然連接在默認(rèn)的bridge網(wǎng)絡(luò)。

4.啟動(dòng)第三個(gè)container,但是這是使用--ip 選項(xiàng)指定它的IP地址,

zane@zane-V:~$ docker run --network=isolated_nw --ip=172.25.3.3 -itd --name=container3 busybox

5.檢查container3使用的是哪個(gè)網(wǎng)絡(luò):

 "Networks": {
    "isolated_nw": {
     "IPAMConfig": {
      "IPv4Address": "172.25.3.3"
     },
     "Links": null,
     "Aliases": [
      "adf68dd9e09c"
     ],
     "NetworkID": "a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b",
     "EndpointID": "71d5d272d056b6111a83f0843a10d1944f1648f34d5099258d5865d053a939b0",
     "Gateway": "172.25.0.1",
     "IPAddress": "172.25.3.3",
     "IPPrefixLen": 16,
     "IPv6Gateway": "",
     "GlobalIPv6Address": "",
     "GlobalIPv6PrefixLen": 0,
     "MacAddress": "02:42:ac:19:03:03"
    }
   }
  }

6.檢查container2使用的是哪個(gè)網(wǎng)絡(luò):

"Networks": {
    "isolated_nw": {
     "Aliases": [
      "e9bce535ae32"
     ],
     "EndpointID": "ef7244d32484407c3ec4aa30b7bdb0a6cbe3dbbfedc03e5c856ad20a08af172f",
     "Gateway": "172.25.0.1",
     "GlobalIPv6Address": "",
     "GlobalIPv6PrefixLen": 0,
     "IPAMConfig": {},
     "IPAddress": "172.25.0.2",
     "IPPrefixLen": 16,
     "IPv6Gateway": "",
     "Links": null,
     "MacAddress": "02:42:ac:19:00:02",
     "NetworkID": "a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b"
    }
   },

注意:container2 在兩個(gè)網(wǎng)絡(luò)中間,它加入了默認(rèn)bridge網(wǎng)絡(luò),當(dāng)你在創(chuàng)建它的時(shí)候,然后又連接它到了isolation_nw.

一個(gè)容器可以連接到多個(gè)網(wǎng)絡(luò)中

7.使用docker attach 命令連接一個(gè)正在運(yùn)行的容器,然后查看

zane@zane-V:~$ docker attach container2
/ # ifconfig -a
eth1  Link encap:Ethernet HWaddr 02:42:AC:19:00:02 
   inet addr:172.25.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
   inet6 addr: fe80::42:acff:fe19:2/64 Scope:Link
   UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
   RX packets:86 errors:0 dropped:0 overruns:0 frame:0
   TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
   collisions:0 txqueuelen:0
   RX bytes:11780 (11.5 KiB) TX bytes:648 (648.0 B)
 
eth2  Link encap:Ethernet HWaddr 02:42:AC:11:00:03 
   inet addr:172.17.0.3 Bcast:0.0.0.0 Mask:255.255.0.0
   inet6 addr: fe80::42:acff:fe11:3/64 Scope:Link
   UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
   RX packets:23 errors:0 dropped:0 overruns:0 frame:0
   TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
   collisions:0 txqueuelen:0
   RX bytes:3809 (3.7 KiB) TX bytes:648 (648.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)

8.可以通過(guò)容器名稱來(lái)相互連接

/ # ping -w 4 container3
PING container3 (172.25.3.3): 56 data bytes
64 bytes from 172.25.3.3: seq=0 ttl=64 time=0.077 ms
64 bytes from 172.25.3.3: seq=1 ttl=64 time=0.049 ms
64 bytes from 172.25.3.3: seq=2 ttl=64 time=0.047 ms
64 bytes from 172.25.3.3: seq=3 ttl=64 time=0.054 ms
 

雖然container1 和 container2 都在bridge網(wǎng)絡(luò)中,但是他們是不支持 容器名稱通信的。

zane@zane-V:~$ docker attach container2
/ # ping container3
PING container3 (172.25.3.3): 56 data bytes
64 bytes from 172.25.3.3: seq=0 ttl=64 time=0.042 ms
64 bytes from 172.25.3.3: seq=1 ttl=64 time=0.050 ms
64 bytes from 172.25.3.3: seq=2 ttl=64 time=0.063 ms
--- container3 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.042/0.051/0.063 ms
 
/ # ping -w 4 container1
ping: bad address 'container1'
 
/ # ping -w 4 172.17.0.2
PING 172.17.0.2 (172.17.0.2): 56 data bytes
64 bytes from 172.17.0.2: seq=0 ttl=64 time=0.104 ms
64 bytes from 172.17.0.2: seq=1 ttl=64 time=0.052 ms
64 bytes from 172.17.0.2: seq=2 ttl=64 time=0.127 ms
64 bytes from 172.17.0.2: seq=3 ttl=64 time=0.057 ms
 
--- 172.17.0.2 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.052/0.085/0.127 ms
 

注意退出attach 時(shí),使用ctr-p + ctr-q.
如果使用ctr-d 則會(huì)stop container.

zane@zane-V:~$ docker attach container3
/ # ping -w 4 172.17.0.2
PING 172.17.0.2 (172.17.0.2): 56 data bytes
 
--- 172.17.0.2 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss

上面的實(shí)驗(yàn)我們知道,用戶自定義的網(wǎng)絡(luò),是可以相互解析容器名的,也就是可以用容器名來(lái)相互同行。

•定義網(wǎng)絡(luò)別名 •--link=CONTAINER-NAME:ALIAS

1.斷開(kāi)container2和isolated_nw的連接,然后

zane@zane-V:~$ docker network disconnect isolated_nw container2

zane@zane-V:~$ docker network rm simple-network

•創(chuàng)建網(wǎng)絡(luò) •docker network create simple-network

•overlay網(wǎng)絡(luò)條件 •進(jìn)入一個(gè)鍵值存儲(chǔ)

•支持overlay網(wǎng)絡(luò)的docker選項(xiàng) •--cluser-store

•指定子網(wǎng)絡(luò),網(wǎng)關(guān),地址范圍

•將容器添加到網(wǎng)絡(luò)中 •docker network connect isolated_nw container2

•連接一個(gè)正在運(yùn)行的容器 •docker attach

•attach 的退出 •ctr p + ctr q

•默認(rèn)bridge網(wǎng)絡(luò)不支持,容器名稱通信,其他網(wǎng)絡(luò)支持; •使用link 來(lái)支持默認(rèn)網(wǎng)絡(luò)的容器名稱通信

•斷開(kāi)連接

•docker network disconnect isolated_nw container2

•刪除網(wǎng)絡(luò)

•docker network rm simple-network

•檢測(cè)網(wǎng)絡(luò)

•docker network inspect isolated_nw


相關(guān)文章

  • dockerfile制作apache鏡像的方法

    dockerfile制作apache鏡像的方法

    這篇文章主要介紹了dockerfile制作apache鏡像的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • docker離線安裝并導(dǎo)入鏡像過(guò)程

    docker離線安裝并導(dǎo)入鏡像過(guò)程

    這篇文章主要介紹了docker離線安裝并導(dǎo)入鏡像過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Docker中的compose簡(jiǎn)介

    Docker中的compose簡(jiǎn)介

    Docker?Compose?是?Docker?官方編排(Orchestration)項(xiàng)目之一,負(fù)責(zé)快速在集群中部署分布式應(yīng)用,這篇文章主要介紹了Docker之compose介紹,需要的朋友可以參考下
    2023-02-02
  • Spring Boot 打包上傳Docker 倉(cāng)庫(kù)的詳細(xì)步驟

    Spring Boot 打包上傳Docker 倉(cāng)庫(kù)的詳細(xì)步驟

    這篇文章主要介紹了Spring Boot 打包上傳Docker 倉(cāng)庫(kù)的詳細(xì)步驟,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Docker上部署mysql8主從復(fù)制的實(shí)現(xiàn)

    Docker上部署mysql8主從復(fù)制的實(shí)現(xiàn)

    本文主要介紹了Docker上部署mysql8主從復(fù)制的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Docker?制作tomcat鏡像并部署項(xiàng)目的步驟

    Docker?制作tomcat鏡像并部署項(xiàng)目的步驟

    這篇文章主要介紹了Docker?制作tomcat鏡像并部署項(xiàng)目?,講解如何制作自己的tomcat鏡像,并使用tomcat部署項(xiàng)目,需要的朋友可以參考下
    2022-10-10
  • docker images 如何建立自己的原生鏡像

    docker images 如何建立自己的原生鏡像

    這篇文章主要介紹了docker images 如何建立自己的原生鏡像的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • docker容器互聯(lián)的實(shí)現(xiàn)步驟

    docker容器互聯(lián)的實(shí)現(xiàn)步驟

    容器互聯(lián)是除了端口映射外另一種可以與容器通信的方式,本文就來(lái)介紹一下docker容器互聯(lián)的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2023-12-12
  • 開(kāi)啟Docker的TCP通信端口方式

    開(kāi)啟Docker的TCP通信端口方式

    這篇文章主要介紹了開(kāi)啟Docker的TCP通信端口方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Docker將鏡像文件發(fā)布到阿里云的詳細(xì)過(guò)程

    Docker將鏡像文件發(fā)布到阿里云的詳細(xì)過(guò)程

    這篇文章主要介紹了Docker將鏡像文件發(fā)布到阿里云的操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論