定义好了 stack YAML 文件,就可以通过 docker stack deploy 命令部署应用,命令最后面的wpstack 是自动创建各项资源的前缀,方便区分不同的环境
 
root@host03:~# docker stack deploy -c wp.yaml wpstack    #    部署stack
Creating network wpstack_default
Creating secret wpstack_db_password
Creating secret wpstack_db_root_password
Creating service wpstack_db
Creating service wpstack_wordpress
root@host03:~# docker stack ls    #    查看stack list
NAME                SERVICES            ORCHESTRATOR
wpstack             2                   Swarm
root@host03:~# docker stack services wpstack    #    查看某stack包含的service list
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
60gocweop7sy        wpstack_wordpress   replicated          1/1                 wordpress:latest    *:80->80/tcp
wpi8ieo8k89z        wpstack_db          replicated          0/1                 mysql:5.7           
root@host03:~# docker service ps wpstack_db    #    查看 **_db service
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE                    ERROR                       PORTS
lmpt206stwnl        wpstack_db.1        mysql:5.7           host02              Running             Running less than a second ago                               
root@host03:~# docker service ps wpstack_wordpress    #    查看 **_wordpress service
ID                  NAME                  IMAGE               NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
q4zbhhs2nl7d        wpstack_wordpress.1   wordpress:latest    host02              Running             Running 33 seconds ago                       
 
访问 http://10.12.31.211    验证部署结果
 
root@host03:~# sed -i 's/80:80/81:80/' wp.yaml    #    修改wordpress对外端口号
root@host03:~# docker stack deploy -c wp.yaml wpstack    #    更新stack 配置
Updating service wpstack_db (id: wpi8ieo8k89z46ahxuwbnu357)
Updating service wpstack_wordpress (id: 60gocweop7sytwa5eab7zffkf)
root@host03:~# docker stack ls
NAME                SERVICES            ORCHESTRATOR
wpstack             2                   Swarm
root@host03:~# docker stack services wpstack
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
60gocweop7sy        wpstack_wordpress   replicated          1/1                 wordpress:latest    *:81->80/tcp
wpi8ieo8k89z        wpstack_db          replicated          1/1                 mysql:5.7           
root@host03:~# docker service ps wpstack_db
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE           ERROR                       PORTS
lmpt206stwnl        wpstack_db.1        mysql:5.7           host02              Running             Running 3 minutes ago                               
root@host03:~# docker service ps wpstack_wordpress  #  可以看到新建并启动了一个副本
ID                  NAME                      IMAGE               NODE                DESIRED STATE       CURRENT STATE             ERROR               PORTS
nqpzyhi353qt        wpstack_wordpress.1       wordpress:latest    host01              Running             Running 45 seconds ago                        
q4zbhhs2nl7d         \_ wpstack_wordpress.1   wordpress:latest    host02              Shutdown            Shutdown 47 seconds ago                       
 
访问 http://10.12.31.211 验证部署结果
 
root@host03:~# docker stack rm wpstack    #    删除stack
Removing service wpstack_db
Removing service wpstack_wordpress
Removing secret wpstack_db_password
Removing secret wpstack_db_root_password
Removing network wpstack_default
 
 
如果想更新stack的某些属性,直接修改 YAML文件即可,然后再次执行上面的命令。
 
 

最新文章

  1. Mysql 数据库之修改标的结构
  2. rabbimq连接问题处理
  3. Javascript中的栈
  4. 为sproto手写了一个python parser
  5. Filezilla无法确定拖放操作目标,由于shell未正确安装__解决办法
  6. 我们应该如何去了解JavaScript引擎的工作原理
  7. GridView获取当前行
  8. SU suacor命令学习
  9. cocosjs 触摸
  10. [Ogre][地形]OgreTerrain的实现原理分析
  11. Tomcat服务器搭建
  12. 高可用HA,高性能
  13. HDU 2830 Matrix Swapping II
  14. RFID开发利器 proxmark3
  15. bootstrap学习和使用的经验总结
  16. STL中的set容器
  17. Android 读取手机某个文件夹目录及子文件夹中所有的txt文件
  18. javascript的setTimeout()与setTimeout()方法用法总结
  19. 九、Linux上软件安装
  20. 使用Fraps获取3D程序的FPS

热门文章

  1. Appium+Robotframework实现iOS应用的自动化测试
  2. R语言:时间的转化
  3. WorkStation 虚拟机迁移到 ESXi
  4. rest 参数与扩展运算符
  5. JNI的开发步骤
  6. Json+Ajax相关
  7. springboot2.0双数据源配置
  8. layui 数据表格复选框实现单选功能
  9. MySQL 按照数据库表字段动态排序 查询列表信息
  10. windows客户端如果通过cmd窗口连接到远程linux服务器,可以使用telnet;