docker中的网络与数据管理
docker 默认网络管理
在进行docker安装时,docket就会自动创建3种网络,用以下指令可以列举docker中所有的网络
可以看出docker默认的3种网络分别为bridge,host,none,其中名为bridge的网络就是默认的bridge驱动网络,也是容器创建时默认的网络管理方式,配置后可以与宿主机通信从而实现与互联网通信的功能,而host和none属于无网络,容器添加到这个网络时不能与外界网络通信。
1) 以下通过一个实例来演示默认的bridge网络管理方式
上述指令在后台启动了一个镜像名称为Ubuntu的容器,并为启动后的容器命名为networktest
2)查看网络详情
自定义bridge网络
1、自定义网络
1)创建自定义网络
上述指令可以创建一个基于bridge驱动的名称为isolated的网络
查看创建的网络是否成功
2、使用自定义网络启动容器
自定义网络创建成功后,就可以使用该网络创建一个容器
查看启动后的容器网络详情
可以看出名为nwtest的容器使用的就是自定义的isolated_nw网络进行容器网络管理的
3、为容器添加网络管理
名为nwtest的容器使用的只有自定义的isolated_nw一种网络管理方式,还可以为该容器添加其他网络管理方式
再次查看该容器详情
容器nwtest就拥有了2种网络管理方式,分别为默认的bridge网络和自定义isolated网络
4、断开容器连接
5、移除自定义网络
docker容器之间网络通信
1、创建容器
1)创建2 个使用默认bridge网络的容器
2)创建一个使用自定义isolated网络的容器
3)为容器container2添加新增一个自定义isolated网络连接
执行完前面3个步骤后,container1使用的是默认bridge网络管理,container4使用的是自定义isolated网络管理,container2使用的是默认bridge网络管理和自定义isolated网络管理
container1和container2 在同一个默认的bridge网络管理下可以相互通信
container2和container4在同一个自定义isolated网络管理下可以相互通信
container1和container4在不同的网络环境下,这2个容器不能通信
2、容器地址查看
进入container1容器
进入container2容器
进入container4容器
3、容器通信测试
进入container1内部,使用ping指令来连接container4来查看是否能够通信## 标题
进入container2内部,使用容器IP分别连接container1和container4来进行通信测试
再在container2容器内部使用容器名称分别连接container1和container4进行通信测试
容器之间通信的结论:
1.不同容器之间想要相互通信必须在同一个网络环境下
2.使用默认bridge网络管理的容器,可以使用容器IP进行通信,但无法使用容器名称进行通信
3.使用自定义网络管理的容器既可以使用容器IP进行通信,又可以使用容器名称进行通信
docker swarm 使用
1、环境搭建,这3太主机
虚拟机中安装3太使用Ubuntu16.04系统的机器,这3台机器的主机名分别为manager1(作为管理节点),worker1和worker2(作为工作节点)
2、创建docker swarm集群
1)在名为manager1的机器上创建docker swarm集群
执行上述指令后,docker会自动在IP为192.168.10.133的机器上创建一个swarm集群,并将该IP地址的机器作为集群的管理节点,创建集群后显示了2条指令,这2条指令分别实在添加管理节点和工作节点时使用
3、向docker swarm添加工作节点
1)启动另外2台docker机器worker1和worker2,执行向集群中添加工作节点的指令
注意:上述指令中的–token参数表示向指定集群中添加工作节点的认证信息,一定要使用自己在前面创建docker swarm 集群时返回的向集群中添工作节点的指令,而不是此处的指令
2)集群管理节点上查看集群节点信息
4、向docker swarm集群部署服务
这里使用docker hub 上自带的alpine镜像为例来部署集群服务
5、查看docker swarm 集群的服务
1)在管理节点上查看集群中的服务信息
2)查看部署的服务的集体详情
3)查看指定服务在集群节点上分配和运行情况
6、更改dockerswarm 集群服务副本数量
7、访问服务
1)在集群管理节点上查看网络列表
2)创建以overlay为驱动的自定义网络
3)在集群管理节点上再次部署服务
4)在集群股那里节点上查看服务的2个副本服务运行情况
5)访问外界服务,使用人体一台节点服务的IP+8080进行服务访问
volumes数据卷管理
1、创建并管理数据卷
1)创建数据卷
2)查看数据卷
2、启动容器并加载数据卷
1)查看本机容器和数据卷
主机终端分别使用docker ps -a 和 docker volumes ls查看本机存在的容器和数据卷
2)确认查看本机docker文件系统中的容器和数据卷
将普通用户切换到root用户,进入/var/lib/docker目录
3)启动容器并挂载数据卷
4)再次查看本机容器和数据卷
5)检查容器详情
6)再次确认查看本机docker文件系统中的容器和数据卷