CC00015.CloudDocker——|Cloud&Docker网络.V02|——|网络配置|

一、常见隔离方式(yuanjian)
### --- 基础命令说明:
docker network ls                                   // 查看当前可用的网络类型
docker network create -d                            // 类型 网络空间名称

~~~     类型分为:
            overlay network                         // 是覆盖型类型;主要是演示在不同的主机之间才可以通信,需要借助辅助工具才可以实现
            bridge network                          // 网桥,
### --- 不同网络空间进行隔离

docker network create -d bridge --subnet "172.26.0.0/16" --gateway "172.26.0.1" my-bridge-network
docker run -d --network=my-bridge-network --name test1 hub.c.163.com/public/centos:6.7-tools
docker run -d --name test2
二、实例操作:
### --- 此刻网络正常的情况下这两个容器之间是可以正常通信的

[root@hub ~]# docker run --name tomcat1 -d tomcat:v1.0
d246c147c5dd762218c8e6c8ff12f24fa98c10deab625e4875bdfb16cf137325
[root@hub ~]# docker run --name tomcat2 -d tomcat:v1.0
c9e63cc5a86d07190f3d814a2c9c6a293d2878931dc45153a42c4d6ad0685d6a
[root@hub ~]# docker exec -it tomcat1 /bin/bash
[root@d246c147c5dd /]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:02  
          inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.0

[root@hub ~]# docker exec -it tomcat2 /bin/bash
[root@c9e63cc5a86d /]# ifconfig 
eth0      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
### --- 若不希望这两个容器之间不可以通过网络去访问,
~~~     隔离开来(把它们划分在不同的网络域之间,就可以实现)
~~~     创建两套不同的网络lamp和lnmp

[root@hub ~]# docker network create -d bridge lamp
5be92081f3532feef47354ee72aad5db945f9c7ee5306a8b5cc70d54f4a8634e
[root@hub ~]# docker network create -d bridge lnmp
389b6526dfd717fb4c8f1f40d3bb24ea68313a48975aaaa1c0ec4ea1caeaf10f
### --- 此刻它俩之间不可以正常通信了,若是两个项目他们之间是不会受到影响的,
~~~     且跟外网的通信不受影响。
~~~     这种案例运用于在不同的项目的时候,把相同的项目放在同一个网络域之间,
~~~     网络域内可以正常通信,不同网络域隔离。多个项目互相不受影响。

[root@hub ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
5be92081f353        lamp                bridge              local
389b6526dfd7        lnmp                bridge              local
[root@hub ~]# docker run --name tomcat11 --network=lamp -d tomcat:v1.0
35019f2d7711d0718797923704efe212d8f72d9139216e6c78b288a0afbcdf1a
[root@hub ~]# docker run --name tomcat111 --network=lnmp -d tomcat:v1.0
5d4488290ad2d845caf61c7612a58845b7a0e73b3ccb291093299e8db714783d

[root@hub ~]# docker exec -it tomcat11 /bin/bash
[root@35019f2d7711 /]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 02:42:AC:14:00:02  
          inet addr:172.20.0.2  Bcast:0.0.0.0  Mask:255.255.0.0

[root@hub ~]# docker exec -it tomcat111 /bin/bash
[root@5d4488290ad2 /]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 02:42:AC:15:00:02  
          inet addr:172.21.0.2  Bcast:0.0.0.0  Mask:255.255.0.0
三、Linux桥接器进行主机键通讯(linux物理网卡配置桥接br0网络接口)
### --- 为容器设置独立的IP地址,可以被公网直接访问的ip地址,但是容器重启后ip地址失效
~~~     怎么样让两台不同物理主机的容器实现互相访问。

[root@hub ~]# docker rm -f $( docker ps -a -q )         // 删除所有的容器
~~~     通过修改配置文件去创建网桥。

[root@hub ~]# cd /etc/sysconfig/network-scripts/
[root@hub network-scripts]# cp -a ifcfg-enp0s3 ifcfg-br0
[root@hub network-scripts]# vim ifcfg-enp0s3
DEVICE=enp0s3
ONBOOT=yes
BOOTPROTO=static
BRIDGE=br0

[root@hub network-scripts]# vim ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.55
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
TYPE=Bridge
[root@hub network-scripts]# systemctl restart network.service
### --- 通过pipework设置
~~~     此刻就可以通过公网访问tomcat应用

[root@localhost ~]# yum install -y git
[root@localhost ~]# git clone https://github.com/jpetazzo/pipework
[root@localhost ~]# cp pipework/pipework /usr/local/bin/
[root@localhost ~]# chmod a+x /usr/local/bin/pipework

[root@hub ~]# docker run --name tomcat --net=none -d tomcat:v1.0    // 网络为none,通过pipework设置
51990d0f4b13a31567a151543dedab11d3b0e3c1a126302f70b29f37e6b60128
[root@hub ~]# pipework br0 tomcat 192.168.1.111/24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值