docker网络、容器间互联互通 |
您所在的位置:网站首页 › 容器有ip地址吗怎么查 › docker网络、容器间互联互通 |
在安装docker时,默认会自动创建三个网络,bridge(默认使用)、none、host 下面分别介绍三种网络: host:直接使用物理机的IP和端口,容器没有自己的网卡 none:关闭网络功能 bridge:为每个容器分配IP地址,并将容器网卡连接到docker0虚拟网桥上,通过iptables的nat表与主机通信 创建自定义网络 : # 自定义网络名称为localnetwork,IP地址段为172.20.0.0/24 [root@localhost ~]# docker network create --subnet 172.20.0.0/24 localnetwork ac4f294a95f7f8787e38eef0b466ec69c35cb04157081240e1c6b37ef4b91567 [root@localhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE e28aeaffefe5 bridge bridge local 29c17110817b host host local ac4f294a95f7 localnetwork bridge local 26f1293fa81e none null local大致的原理图如下所示: docker有关网络的一些命令: # 查看一个网络的信息 docker network inspect [OPTIONS] NETWORK [NETWORK...] # 将一个容器连接到网络 docker network connect [OPTIONS] NETWORK CONTAINER # 使容器与一个网络断开 docker network disconnect [OPTIONS] NETWORK CONTAINER # 删除一个/多个网络 docker network rm NETWORK [NETWORK...]在docker run命令中 –network 指定网络 –ip 在自定义网络中指定容器IP地址 两个容器如在同一个网络中,通过IP地址是可以实现互相访问的,但容器间通信还可以使用容器名互相通信,而不是使用IP地址 docker run --rm --name test1 -it centos:7 bash创建名为test1的容器 docker run --rm -it --link test1:test1 centos:7 bash在创建一个容器,docker run命令中加入–link参数,把test1容器做了主机映射 在容器中查看hosts文件 cat /etc/hosts …… 172.17.0.2 test1 c68109ea44ebping test1试试 ping test1 PING test1 (172.17.0.2) 56(84) bytes of data. 64 bytes from test1 (172.17.0.2): icmp_seq=1 ttl=64 time=0.095 ms 64 bytes from test1 (172.17.0.2): icmp_seq=2 ttl=64 time=0.056 ms ^C能ping通!实现容器间通信 若实现跨主机间的容器通信,可移步到我的博客 openswtich实现跨主机通信 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |