08 docker 原生网络
原生网络:桥接模式 :生成虚拟网络对
host模式:容器和宿主机共享同一网络栈,不会新建虚拟网卡
none禁用网络:只用回环接口
自定义接口:内嵌dns解析 不同网络之间是被隔离的,默认不能通信 不同网络之间 的通信需要附加虚拟网卡
默认使用桥接模式,桥接到docker0上
所有容器都要桥接到docker0 那么数据包都一定会在docker0 上走,所有容器的数据包都要回到网关 就要从docker0 走 docker0 想要出去的时候 要从eth0 这个接口上走 所以内核的IP服务一定要打开
桥接模式:出去没问题 但是不可以让外部主机直接访问
想让外部主机访问 需要host网络模式
===================================
删掉不需要的
host模式,容器和宿主机共享同一网络栈,不会新建虚拟网卡
、
host网络模式 让容器跟宿主机共享一个网络栈,容器根本没有创建新的虚拟网卡,直接跟宿主机公用
其他主机想访问容器 只需访问它的接口地址就行
当在运行第二次的时候 就会冲突
=====================================
禁用网络模型
以上是三种原生网络
===================================
自定义网络
自定义网络地址段
多容器之间是如何互访的
自定义网络内嵌dns解析
docker引擎在分配ip 的时候 是根据容器启动的顺序来分配 单调递增 容器的IP是动态的
所以多容器之间的互访是通过dns 来访问的 自定义网络 内嵌了dns
不同网络之间是被隔离的,默认不能通信
不同网络之间的通信需要附加虚拟网卡
把demo接入到my_net1网络
09 docker 容器通信
joined容器
两个容器共享一个网络线
在共享一个网络栈的事后 端口资源是唯一的
端口映射
重启容器后,DNAT规则和docker-proxy策略会自动恢复
=============================
跨主机容器通信
两台虚拟机各添加一块虚拟网卡
开启混杂模式并激活
server2 上的操作以此内推
直接用的就是物理网卡 在创建macvlan的时候 没有新建接口,根本不需要创建新的虚拟接口,直接用的就是eth1,直接用的就是物理网络
==========================================
10 docker 数据卷
分别从 容器的镜像 仓库 网络 数据卷 安全几个方面来讲
docker managed volume
在宿主机上修改数据 相当于直接修改容器内的数据,因为当前宿主机的容器被直接mount到容器内
清理所有数据卷,在清理前需要先删除容器,释放对数据卷的占用
创建数据卷
使用bind mount方式挂载数据卷
还能在挂载时控制权限
共享卷