准备工作
- 安装docker,版本最低1.13
- 准备 Docker Compose,Docker for Mac 以及 Docker for Windows 都已经预装了compose。linux系统需要自己安装,官方安装教程。
- 了解docker安装启动
- 了解构建第一个docker应用
- 确保在上一节创建的friendlyhello已经发布到registry
- 确保friendlyhello可以被pull,并能正常使用
- 复制第三节的
docker-compose.yml
- 确保第四节中设置的机器环境都正常运行
- 运行
docker-machine ssh myvm1 "docker node ls"
确保服务是ready
状态
介绍
在第四节中,介绍了如何启动swarm,如何将服务部署到多台机器之上。在这一节中,将着重介绍stack
,所谓的stack
就是一组相互关联的服务,它们能够共享一些依赖,能够并一起编排和扩容。在第三节中,介绍了一个单服务的stack
,这个stack
中只有一个服务,只运行在一台宿主机上。在这一节中,将介绍多服务的stack,并运行在多台机器之上。
添加一个新的服务并部署
添加服务非常的简单,只需要编辑docker-compose.yml
,添加相关的服务信息。比如,给swarm机器添加一个可视化的服务,展示swarm集群的机器和服务信息。
- 编辑
docker-compose.yml
|
|
在docker-compose.yml
中增加了visualizer的相关配置项。
- 配置shell,连接上myvm1的docker环境
- 在swarm manager上执行
docker stack deploy
重新部署服务
|
|
- 在浏览器中验证visualizer是否安装成功
持久化数据
重复上面的过程,在给我们的stack
中添加redis服务。
- 编辑
docker-compose.yml
添加redis的依赖
|
|
Note:
- image: redis,在Docker library中有redis的官方镜像,因此,此处可以使用简称
- 在manager上创建data目录,用于持久化redis中的数据
|
|
- 确保当前shell环境连上manager,接下来的命令都需要在manager上执行
- 在manager上执行
docker stack deploy
|
|
- 执行
docker service ls
验证服务启动情况
|
|
- 在浏览器中验证redis中的计数情况
- 查看visualizer,观察机器中的服务
恭喜你,一个完成的stack配置完成了。