docker 容器的网络模式
Docker 网络模式介绍
- 默认的三种网络模式 
  - bridge:桥接模式
- host:主机模式
- none:无网络模式
 
- 查看网络模式# docker network ls
bridge 模式
- 桥接模式是 docker 的默认网络设置,当 Docker 服务启动时,会在主机上创建一个名为 docker0 的虚拟网桥,并
 选择一个和宿主机不同的IP地址和子网分配给 docker0 网桥
- 桥接拓扑图
  
- 安装工具 
  - yum -y install net-tools
- yum install -y bridge-utils
 
- 查看桥接情况 
  - brctl show
  
 
- brctl show
host 模式
- host 模式:该模式下容器是不会拥有自己的ip地址,而是使用宿主机的ip地址和端口。
- 拓扑图
  
- 模拟启动 nginx 容器命令并防火墙放开 80 端口# docker run -d centos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;" # firewall-cmd --zone=public --add-port=80/tcp --permanent # firewall-cmd --reload
none模式(不太常用)
- none模式:关闭模式
- 无法连外网
Docker 容器间基于 Link 实现单向通信
- 启动 mysql 数据库容器# docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
- 启动 tomcat 应用容器并 link 到 mysql 数据库# docker run -itd --name tomcat --link mysql tomcat:tag
Docker 容器间利用 brige 网桥实现双向通信
- 执行:docker network ls
  
- 创建一个新的网桥:docker network create -d bridge my_bridge
- 启动第一个容器:docker run -itd --name tomcat centos:7
- 启动第二个容器:docker run -itd --name redis centos:7
- 把第一个容器加入网桥:docker network connect my_bridge tomcat
- 把第二个容器加入网桥:docker network connect my_bridge redis
- 最后分别进入俩个容器中进行验证
Docker 容器的特权模式
- 启动拥有特权模式的容器# docker run -itd --privileged=true --name mycentos1 centos:7 /bin/bash
Docker 容器 Volume 数据共享
- 使用 --volumes-from 实现容器与容器之间 volume 共享
- 创建 nginx1# docker run -itd -p 8080:80 -v /usr/local/nginx/html:/usr/local/nginx/html --name nginx1 mycentos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;"
- 创建 nginx2# docker run -itd -p 8081:80 --volumes-from nginx1 --name nginx2 mycentos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;"
- 创建 nginx3docker run -itd -p 8082:80 --volumes-from nginx1 --name nginx3 mycentos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;"
- 对 /usr/local/nginx/html/index.html 进行修改
- 打开浏览器进行访问测试
上一篇 :docker 构建自定义镜像
 下一篇 :Docker 部署 jar 包









