docker0 :linux的虚拟网桥
虚拟网桥特点:
1.可以设置ip地址
2.相当于拥一个隐藏的虚拟网卡
![](https://images2015.cnblogs.com/blog/1092219/201702/1092219-20170224183639757-199745763.jpg)
![](https://images2015.cnblogs.com/blog/1092219/201702/1092219-20170224183640116-351365967.jpg)
安装网桥工具
apt-get install bridge-utils
brctl show
自定义docker0 ip
sudo ifconfig docker0 192.168.10.1 netmastk 255.255.255.0
sudo service docker restart
更改docker守护进程的启动配置
/etc/default/docker 添加 DOCKER_OPS="-b=br0"
添加新网桥 和 网桥ip
sudo brctl addbr br0
sudo ifconfig br0 192.168.100.1 netmask 255.255.255.0
sudo service docker restart
ifconfig
ps -ef |grep docker
docker容器之间的互联
默认:允许所有容器互联
测试Docker镜像DockerFile
FROM ubuntu:14.04
RUN apt-get install -y ping
RUN apt-get update
RUN apt-get install -y nginx
RUN apt-get install -y curl
EXPOSE 80
CMD /bin/bash
docker build -t dortest .
================================
--icc-true
docker run -it cct1 dortest
docker run -it cct2 dortest
容器重启时,ip是不可靠的,启动后会改变
--link :针对这个选项的容器 docker 启动时会自动修改ip地址和指定别名的映射
docker run --link=[容器名]:[起个别名] [IMAGE] [命令]
查看容器环境变量
env
vi /etc/hosts
拒绝容器间互联
--icc=false
vim /etc/default/docker
DOCKER_POS="--cc=false"
允许特定容器间的连接
修改docker 守后进程参数
--icc=false --iptables=true
--link
查看iptables
sudo iptables -L -n
DROP在第一行,所以不能访问。
清空iptables
sudo iptables -F
重启docker服务
sudo service docker restart
sudo iptables -L -n
DOCKER 在第一行。
启动容器
docker容器与外部网络的连接
ip_forward:
值决定是否转发流量
查看值:
sudo sysctl net.ipv4.conf.all.forwarding
iptables
linux 防火墙
![](https://images2015.cnblogs.com/blog/1092219/201702/1092219-20170224183640445-947382411.jpg)
表 table
链 chain
规则 rule
accept reject drop
filter 表中包含的链
input
forward
output
查看filter 表
sudo iptalbes -L -n
允许端口映射访问容器
docker run -it -p 80 --name cct5 镜像名
docker port cct5
限制ip访问docker容器
限制ip访问docker
docker run -it -p 80 -s 10.211.55.3 -d 177.17.0.7 (docker的容器地址) -p TCP --dport 80 j DROP