实训环境: Docker安装平台支持: Docker支持在多种平台上使用,包括Mac、Windows、Cloud以及Linux系统上等。由于Docker是基于Ubuntu发布的,所以官方更推荐在Ubuntu上使用Docker,开发者也可以根据自己的实际开发环境选择合适的开发平台。 Docker的安装并非想象中那么随意,在不同的平台上安装Docker必须满足不同的先决条件。本实验选择在Ubuntu16.04版本上使用Docker,因此这里只针对Ubuntu系统上的Docker安装要求进行实验。
任务一:Docker网络管理 Docker使用bridge(单主机互联)和overlay(可跨主机互联)两种网络驱动来进行容器的网络管理,用户可以自定义网络驱动来进行Docke容器网络管理
1.客户端通过命令查看驱动网络 2.创建并启动容器networktest 查看容器运行情况 3.使用网络查看指令查看网络详情 4.创建基于bridge驱动的名称为isolated_nw的网络 5.查看创建的网络是否成功 6.使用自定义网络启动容器 7.通过docker inspect nwtest指令查看启动否的容器详情 8.为容器添加网络管理使用命令docker network connect bridge nwtest,为容器添加一种默认的bridge网络管理,然后查看容器网络详情 9.断开容器网络连接后(docker network disconnect isolated_nw nwtest),查看网络连接情况 10.移除自定义网络,列举所有网络确认是否移除成功 任务二:Docker容器之间网络通信演示查看 1.创建两个使用默认的bridge网络的容器 2.查看容器运行情况 3.创建一个自定义的网络的容器,首先创建自定义网络 4.为container2容器新增一个自定义的islated_nw网络连接 5.容器地址查看,进入容器,查看地址 6.分别进入container1和container3,查看容器地址
7.容器通信测试 由于container1和container3不在同一网络环境下,无法通信 8.同样在container1中无法ping通container3 9.container2可以与container1和3通信,验证了同一网络中的容器可以实现通信 任务三:Docker Swarm集群 Docker Swarm是一个用于创建和管理Docker集群的工具,集成了很多必要的工具,开发者只需要简单的命令就可以创建并管理Docker Swarm集群 1.实验环境准备 在虚拟机中分别安装了3台使用Ubuntu16.04系统的机器,这三台机器的主机名称分别为manager1 (作为管理节点)、worker1 (作为工作节点)和worker2 (作为工作节点),其IP地址分别如下: manager1:192.168.1.136 worker1:192.168.1.137 worker2:192.168.1.138 修改主机名(/etc/hostname),映射主机地址(/etc/hosts)
验证网络 2.在名为manage1的Docker机器上创建Docker Swarm集群,生成添加工作节点的指令 3.在管理节点上查看集群节点信息 4.启动工作节点,分别执行以下命令,向集群中加入工作节点 5.再次查看节点信息,可以看到工作节点添加成功 6.向集群中部署服务 拉取镜像 部署服务(docker service create --replicas 1 --name helloworld alpine ping docker.com), 查看集群中的服务信息 查看部署的服务详情 7.查看服务在集群节点上的分配情况 8.更改服务副本数量 9.再次查看服务部署情况 10.拉取镜像运行实例完成 11.删除服务 12.访问服务 查看网络情况 13.在集群管理节点上创建以overlay为驱动的自定义网络 14.在集群管理节点上部署服务 15.查看服务副本运行情况,可以看到两个服务副本被随机分配到管理节点和工作节点 16.登录验证,使用任一节点的IP都可登录验证 任务四:docker数据管理 1.创建数据卷,查看数据卷 2.查看存放容器和数据卷的文件目录 3.使用–mount挂载数据卷 使用-v挂载数据卷 4.分别查看容器列表和数据卷列表
5.查看容器详情 容器数据挂载了mounts信息 6.查看本机文件系统中的容器与数据卷 实验完毕
问题:验证网络,可以实现宿主机的通信,但不能连接外网 解决方案:选择net模式,配置静态IP,配置DNS 重启网卡后,若重启失败,则重启宿主机,即可连接网络 使用命令安装vim可以方便编辑 总结: Docker Swarm集群主要特点: ●方便创建和管理集群 ●可扩展 ●可实现期望的状态调节 ●集群中多主机网络自动扩展管理 ●提供服务发现功能 ●可实现负载均衡 ●安全性强 ●支持延迟更新和服务回滚 Docker三种外部挂载机制:
