Docker中的网络与数据管理

本文详细介绍了Docker的网络管理,包括默认网络、自定义bridge网络以及容器间的网络通信。同时,讲解了Docker Swarm的集群创建、服务部署、状态调节等。此外,还阐述了Docker数据卷的创建、管理和使用,确保容器间的数据持久化。

一、Docker网络管理

1.1 Docker默认网络管理

1.客户端通过网络管理指令进行查看

注:在进行Docker安装时,Docker就会自动创建三种网络。分别是:bridge、host、null

2.创建并启动容器

3.使用网络查看指令查看网络详情(该指令用于查看名称为bridge的网络详情,需要指明网络名称或者网络ID

注:这里介绍的三种网络bridge、host、none都是在非集群环境下Docker提供的默认网络,而在Docker Swarm集群环境下,除了这三种默认网络外,Docker还提供了docker_gwbridge和ingress两种默认网络。

1.2 Docker自定义bridge网络

1.使用create命令创建一个名为isolated_nw的自定义网络

注:执行上述指令可以创建一个基于bridge驱动的名称为isolated_nw的网络。其中–driver(可简写为-d)用于指定网络驱动类型,isolated_nw就是新创建的网络名称。需要说明的是,--driver bridge可以省略,省略时Docker会默认使用基于bridge驱动来创建新的网络。

2.使用该自定义网络启动一个容器

3.通过docker inspect nwtest指令查看启动后的容器网络详情

4.为容器添加网络管理,查看详情

注:名为nwtest的容器使用的只有自定义的isolated_nw一种网络管理方式,还可以继续为该容器添加其他网络管理方式。

5.断开网络容器连接

注:容器既可以连接网络,也可以断开网络;

6.移除自定义网络

注:当不再需要某个网络时,可以将该网络移除,但在移除之前,一定要先将所有与该网络连接的容器断开;

1.3 容器之间的网络通信

1.3.1创建容器

1.创建两个使用默认的bridge网络的容器

2.创建一个使用自定义的isolated_nw网络的容器

3.为container2容器新增一个自定义的isolated_nw网络连接

1.3.2 容器地址查看

1.查看container2的地址

2.查看container1的地址

3.查看container3的地址

1.3.3 容器通信测试

1.在container1中ping验证container3,结果不通

2.进入container2通过ping IP地址来验证容器1和容器3的连通性

3.在容器2中通过ping容器1和容器3的名称验证连通性,结果只有容器3可以正常通信

4.默认网络下使用--link参数通过容器名称进行通信(c1为container1的别名)

结论:不同容器之间需要相互通信必须在同一个网络环境下,使用默认bridge网络管理的容器可以使用容器IP地址进行通信,但无法使用容器名称进行通信;而使用自定义网络管理的容器则同时可以使用容器IP地址和容器名称进行通信。

注:当使用docker attach 指令进入容器内部后,可以在终端使用exit命令或者使用快捷键CTRL+p+q组合键退出容器,只不过在使用exit推出容器后,该容器就会停止运行,而使用CTRL+p+q组合键退出当前容器后,该容器会持续运行

二、Docker Swarm概述

Docker Swarm是一个用于创建和管理Docker集群的工具。

Docker Swarm集群的主要特点:
1、方便创建和管理集群
2、可扩展
3、可实现期望的状态调节
4、集群多主机网络自动扩展管理
5、提供服务发现功能
6、可实现负载均衡
7、安全性强
8、支持延迟更新和服务回滚

三、Docker Swarm使用

1、环境搭建

(1)准备三台Ubuntu系统主机(即用于搭建集群的3个Docker机器),每台机上都需要安装Docker并且可以连接网络,同时要求Docker版本都必须是1.12及以上,因为老版本不支持Docker Swarm。
(2)集群管理节点Docker机器的IP地址必须固定,集群中的所有节点都可以访问该管理节点。
(3)集群之间必须使用相应的协议并保证其以下端口可用:
① 用于集群管理通信的TCP端口2377
② TCP和UDP端口7946,用于节点间的通信
③ UDP端口4789,用于覆盖网络流量
要求在虚拟机中安装三台使用Ubuntu16.04系统的机器,三台机器主机名称分别为manager1(作为管理节点),worker1(作为工作节点)、worker2(作为工作节点)。
(4) 三台机器ip地址分配
① manage1:192.168.10.10
② worker1:192.168.10.20
③ worker2:192.168.10.30

2、地址配置

(1)manager1主机(IP:192.168.10.10)

(2)worker1主机(IP:192.168.10.20)

(3)worker2主机(IP:192.168.10.30)

2.2 创建Docker Swarm集群

1.在manager1的docker机器上创建Docker Swarm集群

2.在管理节点上查看集群节点信息

3.修改目录权限

2.3 向Docker Swarm集群添加工作节点

1.在worker1节点上添加工作节点

2.在worker2节点上添加工作节点

3.再次在管理节点上查看集群节点信息

2.4 向Docker Swarm集群部署服务

1.使用Docker Hub上自带的alpine镜像部署集群服务

2.5 查看Docker Swarm集群中的服务

1.查看部署服务的具体详情

2.查看指定服务在集群节点上的分配和运行情况

2.6 更改集群Docker Swarm集群服务副本数量

1.更改副本数量为5

2.查看副本服务在3个节点上的具体分配和运行情况

3.在各个节点的运行情况

2.7 删除服务

1.删除不需要的服务并验证服务是否删除成功

2.8 访问服务

1.查看网络列表

2.在manager1上,创建以overlay为驱动的自定义网络

3.在manager1节点上,再次部署服务

4.查看服务的两个服务副本运行情况

5.外界访问服务

三、Volumes数据卷管理

3.1 volumes数据卷使用

3.1.1 创建并管理数据卷

1.创建一个名为my-vol的数据卷

2.查看数据卷

3.核查数据卷

4.删除数据卷

3.1.2 启动容器并加载数据卷

1.查看本机容器和数据卷

2.确认查看本机Docker文件系统中的容器和数据卷3.启动容器并挂载数据卷

l

3.启动容器并挂载数据卷

4.再次查看本机容器和数据卷列表

5.检查容器详情

6.再次确认本机Docker文件系统中的容器和数据卷

完!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值