Docker中的网络与数据管理
Docker中的网络与数据管理
一. Docker网络管理
1.查看docker网络docker自动创建的三种网络
(1)创建并启动容器
(2)查看网络详情
2.自定义bridge网络
(1)创建自定义网络,并查看
(2)使用自定义网络启动容器
(3)查看启动后的容器网络详情
(4)为容器添加网络管理并查看
(5)断开容器网络连接
(6)移除自定义网络
3.容器之间的网络通信
(1)创建容器:
①创建容器(创建两个使用默认的bridge网络的容器)
②创建一个使用自定义的isolated_nw网络
③为container2容器新增一个自定义的isolated_nw网络连接
(2)容器地址查看
①首先进入container2,然后使用ifconfig查看容器被动分配的ip地址
②接下来,进入container1和container3查看
(3)容器通信测试
①首先进入container1,ping container3(ping -w 4 ip)
②接着进入container2,使用容器ip和容器名分别连接container1和container3
从以上两个图可以看出,在container2里,使用ping -w 4 ip可以ping通1和3,而使用ping -w 4 容器名 ,container3可以通,container1显示 bad address ‘container1’.
通过以上分析得出一个结论:不同容器之间想要相互通信,必须在同一个网络环境下,使用默认bridge网络管理的容器可以使用容器ip通信,但无法使用容器名称通信,而使用自定义网络管理的容器可以同时使用ip和容器名称通信。
二. Docker Swarm集群
1.Docker Swarm使用
(1)环境搭建
①准备三台Ubuntu系统主机,每台机器都需要安装Docker并且连接网络,Docker要求1.12版本及以上。
②集群管理节点Docker机器的ip地址必须固定,集群中所有节点都必须能访问该管理节点。
③集群节点之间必须使用相应的协议并保证以下端口可用:
用于集群管理通信的TCP端口2377;
TCP和UDP端口7946,用于节点间的通信;
UDP端口4789,用于覆盖网络流量。
三台主机名称分别为manager1(管理节点),worker1(工作节点),worker2(工作节点)。
(2)创建Docker Swarm集群
在manager1的docker机器上创建Docker Swarm集群并查看。
(3)向Docker Swarm集群添加工作节点
①启动worker1和worker2,分别打开终端,执行以下指令向集群加入工作节点。(指令中–token参数是创建Docker Swarm集群时返回的指令)
②在集群节点查看集群节点信息
(4)向Docker Swarm 集群部署服务
使用Docker Hub自带的alpine镜像部署集群服务(需要先配置加速器拉取镜像)
(5)查看Docker Swarm 集群中的服务
(6)更改Docker Swarm集群服务副本数量,并查看
(7)删除服务
(8)访问服务
①在manager1,查看网络列表
②在manager1,创建以overlay为驱动的自定义网络。
③在manager1再次部署服务。
④在manager1上查看服务的两个服务副本运行情况。
⑤外界访问服务
打开浏览器,使用ip+8080端口访问。
三. Docker数据管理
1.volumes数据卷使用
(1)创建并管理数据卷
①创建数据卷并查看数据卷
②核查数据卷
③删除数据卷
(2)启动容器并加载数据卷
①查看本机容器和数据卷
②确认查看本机Docker文件系统中的容器和数据卷。
③启动容器并挂载数据卷
④再次查看本机容器和数据列表
⑤检查容器详情
⑥再次确认Docker文件系统中的容器和数据卷