首页 理论教育 Docker周边工具及私有云架构设计与实践

Docker周边工具及私有云架构设计与实践

时间:2023-10-28 理论教育 版权反馈
【摘要】:Docker公司官方与社区也提供了诸多工具来提升了docker的易用性、可移植性、可扩展性等,方便用户使用的同时,也稳固了自己的生态圈,目前这些工具的关系如图5-7所示。图5-7Docker工具简要关系图1.Docker MachineDocker Machine的设计初衷是为了方便Docker的部署流程,将不同操作系统的docker daemon安装差异简化到参数可随时变更的虚拟机中。

Docker周边工具及私有云架构设计与实践

Docker公司官方与社区也提供了诸多工具来提升了docker的易用性、可移植性、可扩展性等,方便用户使用的同时,也稳固了自己的生态圈,目前这些工具的关系如图5-7所示。由于篇幅所限,本节仅对主流工具作简单介绍,其他工具诸如docker的Web管理、第三方插件等请读者查阅官方和相关社区网站。

图5-7 Docker工具简要关系图

1.Docker Machine

Docker Machine的设计初衷是为了方便Docker的部署流程,将不同操作系统的docker daemon安装差异简化到参数可随时变更的虚拟机中。它需要主机提供虚拟化服务(默认为VirtualBox)以支撑其boot2docker虚拟机,或者AWS、Digital Ocean的预配置虚拟机实例,然后本地Docker客户端连接到虚拟机的服务端口(默认为https://VM_IP:2376)通信为用户提供服务。Docker M achine与Docker Engine的区别是前者仅仅是为了提供docker daemon服务端虚拟机,后者是提供了客户端与服务端一体化的程序。除了单机服务,它也提供了Docker Swarm的相关命令,以方便用户组建docker集群。

2.Kitematic

Kitematic是一种Native UI的docker管理器,它提供了简单容器镜像管理入口,支持在界面中直接控制容器的生命周期与服务配置(端口、数据卷等)。笔者在成文时,它尚处于alpha版本,功能、稳定性仍待加强。(www.xing528.com)

3.Docker Com pose

Docker Compose是按照预定脚本组合容器提供服务的自动编排程序,某种意义上讲它和Maven、Ant等项目管理软件颇为类似。对于依赖较多的复杂应用,我们首先将所需镜像按照Dockerfile进行构建,然后在YAML或者JSON格式的脚本文件(比如dockercompose.yml)中定义镜像的构建(docker build)参数、依赖容器等,最后通过dockercompose命令同时启动多个容器提供应用服务。

4.Docker Toolbox

Docker Toolbox是将Docker Engine、Docker Machine、Docker Compose、Kitematic、Git(可选)、VirtualBox打包在一起的应用程序,以方便Windows、OS X用户使用docker。它会安装VirtualBox作为Docker Machine的虚拟化后端,同时会安装设置了相应环境变量的终端Docker Terminal(Windows平台下会使用MingW最小系统中的预编译程序以扩展cmd.exe命令行环境,比如bash、vi等),从而在非Linux平台中提供完整的Docker运行环境。

5.Docker Swarm

Docker Swarm是Docker公司提供的原生集群工具,原生即意味着它可以利用Docker API的最新特性,从而可以与Docker Compose、Docker Machine等工具进行贴合非常紧密的组合。它可以将Etcd/Consul/ZooKeeper作为服务发现后端,并结合自身丰富的调度策略帮助用户实现应用的SLA(比如高可用、负载均衡)。本书成文时,Docker Swarm的功能已经与Kubernetes相当。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈