5.0docer 网络链接

docker0 :linux的虚拟网桥

虚拟网桥特点:
1.可以设置ip地址
2.相当于拥一个隐藏的虚拟网卡
 
 
安装网桥工具
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 防火墙
 
表 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 
 
 
 
 
 
 
 
 
 
 
 
 
 
 





原文地址:https://www.cnblogs.com/zhangjianbin/p/6439830.html