docker 禁止修改iptables_Docker网络管理

容器之间互访

docker 0网卡可以理解为一个交换机,负责交互容器之间的信息交互,有几个容器,就会出现几个veth。

ad80ae8cd9c08207965ea3d3328ad690.png

容器访问外部网络
iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -o docker0 -j MASQUERADE
外部网 络访问容器
docker run -d -p 80:80 apacheiptables -t nat -A POSTROUTING -m addrtype --dst-type LOCAL -j DOCKERiptables -t nat -A DOCKER ! -i docker0 -p tcp --dport 80 -j DNAT --to-destination 172.17.0.2:80
Docker网络模式修改

-b,--bridge=“ ”,指定Docker使用的网桥设备,默认情况下Docker会自动创建和使用docker0网桥设备,通过此参数可以使用已经存在的设备

--bip指定Docker0的IP和掩码,使用标准额CIDR形式,如10.10.10.10/24

--dns配置容器的DNS,在启动Docker进程时添加,所有容器全部生效

Docker 容器网络修改

--dns用于指定启动的容器的DNS

--net用于指定容器的网络通讯方式,有以下四个值

    bridge:网桥模式,Docker默认启动后会创建一个Docker0网桥,默认创建的容器也是添加到这个网桥中,IP地址段是172.17.0.1/16

    none:获取独立的network namespace,但是不为容器进行任何网络配置

    container:使用其他容器的网络栈,Docker容器会加入其他容器的network namespace

    host:表示容器使用Host的网络,没有自己独立的网络栈,而是与宿主机共用一个,容器可以完全访问Host的网络,不安全

    自定义:自定义网桥,默认与bridge网络一样

暴露端口

p/P选项的使用格式

p :<ContainerPort): 将制定的容器端口映射至主机所有地址的一个动态端口 p <HostPort>:<ContainerPort>: 映射至指定的主机端口 p ::<ContainerPort>: 映射至指定的主机的IP的动态端口 p :<HostPort>: <ContainerPort>:映射至指定的主机IP的主机端口 P (大) :暴露所需要的所有端口

docker port ContainerName 可以查看容器当前的映射关系

自定义 Docker0 网桥的网络地址

修改/etc/docker/daemon.json文件

{“bip”: "192.168.1.5/24",    "fixed-cidr": "10.20.0.0/16",    "fixed-cidr-v6" :“2001 :db8: :/64,    "mtu": "1500" ,    "default-gateway": "10. 20.1.1" ,    "default- gateway v6 : "2001 :db8:aabb: :89",    "dns": ["10. 20.1.2","10. 20.1.3"]}
不同网络空间进行隔离
docker network create -d bridge -- -subnet" 172. 26. 0. 0/16" - -gateway”172. 26. 0.1" my-bridge-networkdocker run -d-- network my- -bridge- -network - -- -name test1 hub. c. 163. com/ public/ centos:6.7-toolsdocker run -d-- name test2 hub. c. 163. com/pub1ic/centos:6. 7-tools
linux 桥接器进行主机间通讯
[root@localhost network- scripts]# vi ifcfg -eth0DEVICE=eth0HWADDR=00:OC: 29:06:A2:35TYPE=EthernetUUID=34b706cc- aa46-4be3-91fc-d1f48c301f23 .0NBOOT=yesBRIDGE=br0NM_ _CONTROLLED=yesBOOTPROTO=static[root@localhost network- scripts]# vi ifcfg -br0//改成这样DEVICE=br0TYPE= :BridgeONB0OT=yesB0OTPROTO=staticIPADDR= 192. 168. 216.131NETMASK- =255.255. 255.0GATEWAY=192.168. 216. 2DNS=8.8.8.8
[root@localhost network- -scripts]# yum install -y git[root@localhost network -scripts]# git clone https ://gi thub. com/ jpetazzo/ pipework[root@localhost network- -scripts]# cp pipework/pipework /usr/ 1ocal/bin/[root@localhost network- scripts]# docker run -itd -- net=none -- name=ff centos- -6- -x86 bash[root@localhost network -scripts]# pipework br0 fl 192. 168. 216. 135/24

备注:此文章为本人学习笔记,各位大佬不喜勿喷,谢谢!

§ §

c2245356238093457f7a796a617dad1a.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值