找干货、答疑就来公众号:学神IT教育(XueGod-IT)
本节所讲内容:
实验环境: 一个还原到之前安装了docker的虚拟机快照:
Docker的4种网络模式
1、Docker有以下4种网络模式:
host模式,使用–net=host指定。
container模式,使用–net=container:NAME_or_ID指定。
none模式,使用–net=none指定。
bridge模式,使用–net=bridge指定,默认设置。
默认选择bridge的情况下,容器启动后会通过DHCP获取一个地址,这可能不是我们想要的,在centos7系统上, docker环境下可以使用pipework脚本对容器分配固定IP(这个IP可以是和物理机同网段IP)。
注: docker 默认是bridge(–net=bridge)模式,相当于VMware中NAT模式。
docker环境下可以使用pipework脚本对容器分配固定IP,相当于VMware中桥接模式。
注:Pipework有个缺陷,容器重启后IP设置会自动消失,需要重新设置。
配置桥接网络:
桥接本地物理网络的目的,是为了局域网内用户方便访问docker实例中服务,不要需要各种端口映射即可访问服务。 但是这样做,又违背了docker容器的安全隔离的原则,工作中辩证的选择.
创建桥设备:
安装包:
[root@xuegod63 ~]# rpm -ivh /mnt/Packages/bridge-utils-1.5-9.el7.x86_64.rpm
把ens33绑到br0桥设备上:
[root@xuegod63 ~]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cp ifcfg-ens33 /opt/ #备份一下eth0
[root@xuegod63 network-scripts]# vim ifcfg-ens33#编辑配置文件为以下内容
[root@xuegod63 network-scripts]# vim ifcfg-ens33
TYPE=“Ethernet”
BOOTPROTO=“none”
DEFROUTE=“yes”
IPV4_FAILURE_FATAL=“no”
IPV6INIT=“yes”
IPV6_AUTOCONF=“yes”
IPV6_DEFROUTE=“yes”
IPV6_FAILURE_FATAL=“no”
NAME=“ens33”
UUID=“7a556ff6-f865-4549-b08f-9e526c9bb638”
DEVICE=“ens33”
O