08 docker 原生网络

原生网络:桥接模式 :生成虚拟网络对

                  host模式:容器和宿主机共享同一网络栈,不会新建虚拟网卡

只用回环接口

内嵌dns解析   不同网络之间是被隔离的,默认不能通信       不同网络之间 的通信需要附加虚拟网卡

docker 容器 中文网 docker容器实战_docker

docker 容器 中文网 docker容器实战_运维_02

docker 容器 中文网 docker容器实战_运维_03

默认使用桥接模式,桥接到docker0上

docker 容器 中文网 docker容器实战_docker_04

docker 容器 中文网 docker容器实战_docker 容器 中文网_05

docker 容器 中文网 docker容器实战_容器_06

docker 容器 中文网 docker容器实战_docker 容器 中文网_07

所有容器都要桥接到docker0  那么数据包都一定会在docker0 上走,所有容器的数据包都要回到网关 就要从docker0 走 docker0 想要出去的时候 要从eth0 这个接口上走 所以内核的IP服务一定要打开

docker 容器 中文网 docker容器实战_运维_08

docker 容器 中文网 docker容器实战_数据_09

docker 容器 中文网 docker容器实战_容器_10

docker 容器 中文网 docker容器实战_docker_11

桥接模式:出去没问题 但是不可以让外部主机直接访问

想让外部主机访问 需要host网络模式

===================================

docker 容器 中文网 docker容器实战_docker_12

删掉不需要的

docker 容器 中文网 docker容器实战_运维_13

host模式,容器和宿主机共享同一网络栈,不会新建虚拟网卡

docker 容器 中文网 docker容器实战_容器_14


host网络模式 让容器跟宿主机共享一个网络栈,容器根本没有创建新的虚拟网卡,直接跟宿主机公用

其他主机想访问容器 只需访问它的接口地址就行

docker 容器 中文网 docker容器实战_docker 容器 中文网_15

docker 容器 中文网 docker容器实战_运维_16

当在运行第二次的时候 就会冲突

docker 容器 中文网 docker容器实战_运维_17

=====================================

禁用网络模型

docker 容器 中文网 docker容器实战_docker 容器 中文网_18

以上是三种原生网络

===================================

自定义网络

docker 容器 中文网 docker容器实战_数据_19

docker 容器 中文网 docker容器实战_容器_20

docker 容器 中文网 docker容器实战_容器_21

自定义网络地址段

docker 容器 中文网 docker容器实战_docker_22

docker 容器 中文网 docker容器实战_运维_23

多容器之间是如何互访的

自定义网络内嵌dns解析

docker引擎在分配ip 的时候 是根据容器启动的顺序来分配  单调递增  容器的IP是动态的

所以多容器之间的互访是通过dns 来访问的  自定义网络 内嵌了dns

docker 容器 中文网 docker容器实战_docker 容器 中文网_24

docker 容器 中文网 docker容器实战_运维_25

不同网络之间是被隔离的,默认不能通信  

不同网络之间的通信需要附加虚拟网卡

docker 容器 中文网 docker容器实战_容器_26

把demo接入到my_net1网络

docker 容器 中文网 docker容器实战_运维_27

docker 容器 中文网 docker容器实战_容器_28

docker 容器 中文网 docker容器实战_运维_29

09  docker 容器通信

joined容器

两个容器共享一个网络线

docker 容器 中文网 docker容器实战_运维_30

docker 容器 中文网 docker容器实战_docker 容器 中文网_31

在共享一个网络栈的事后 端口资源是唯一的

docker 容器 中文网 docker容器实战_运维_32

端口映射

docker 容器 中文网 docker容器实战_docker 容器 中文网_33

docker 容器 中文网 docker容器实战_数据_34

重启容器后,DNAT规则和docker-proxy策略会自动恢复

docker 容器 中文网 docker容器实战_运维_35

=============================

跨主机容器通信

docker 容器 中文网 docker容器实战_运维_36

docker 容器 中文网 docker容器实战_数据_37

docker 容器 中文网 docker容器实战_容器_38

两台虚拟机各添加一块虚拟网卡

docker 容器 中文网 docker容器实战_运维_39

开启混杂模式并激活

docker 容器 中文网 docker容器实战_容器_40

docker 容器 中文网 docker容器实战_数据_41

docker 容器 中文网 docker容器实战_docker 容器 中文网_42

docker 容器 中文网 docker容器实战_数据_43

server2 上的操作以此内推

docker 容器 中文网 docker容器实战_docker_44

直接用的就是物理网卡  在创建macvlan的时候 没有新建接口,根本不需要创建新的虚拟接口,直接用的就是eth1,直接用的就是物理网络

==========================================

10 docker 数据卷

分别从 容器的镜像 仓库 网络 数据卷 安全几个方面来讲

docker 容器 中文网 docker容器实战_docker 容器 中文网_45

docker 容器 中文网 docker容器实战_运维_46

docker 容器 中文网 docker容器实战_数据_47

docker 容器 中文网 docker容器实战_容器_48

docker 容器 中文网 docker容器实战_容器_49

docker managed volume

docker 容器 中文网 docker容器实战_数据_50

docker 容器 中文网 docker容器实战_docker_51

docker 容器 中文网 docker容器实战_数据_52

docker 容器 中文网 docker容器实战_docker_53

docker 容器 中文网 docker容器实战_docker_54

在宿主机上修改数据 相当于直接修改容器内的数据,因为当前宿主机的容器被直接mount到容器内

docker 容器 中文网 docker容器实战_运维_55

清理所有数据卷,在清理前需要先删除容器,释放对数据卷的占用

docker 容器 中文网 docker容器实战_数据_56

创建数据卷

docker 容器 中文网 docker容器实战_docker_57

使用bind mount方式挂载数据卷

docker 容器 中文网 docker容器实战_数据_58

docker 容器 中文网 docker容器实战_运维_59

还能在挂载时控制权限

docker 容器 中文网 docker容器实战_docker_60

共享卷

docker 容器 中文网 docker容器实战_docker_61