• Docker 入门之在swarm集群中部署web应用


    笔者近期在利用的docker搭建一个swarm集群,目前的应用还是入门级的,读者可自行根据自己的需要修改自己需要部署的应用,今天笔者介绍的是一个web应用的swarm集群的搭建。看这篇文章之前,我希望读者把笔者前面两篇文章都认真搭建一遍,因为今天的应用主要是基于前面两篇文章的。

    一,理解swarm集群

    一个swarm是一组运行docker的机器加入到一个集群,这些机器可以是虚拟的也可以是物理的,这个集群中只有一个swarm管理者,其他的都是worker,它们统称为节点。

    一个swarm管理者如何管理这些docker容器呢?这就涉及到swarm的调度方式。swarm有两种调度方式,一种是“emptiest node”即最大限度的利用每个机器,给一个机器尽可能的分配足够多的容器,另一种是“global”即确保每台机器至少运行一个容器。策略的选择可以通过改变docker-compose文件。

    一个swarm管理者可以执行用户的命令,或者认证加入进来swarm集群的其他worker节点,而worker节点只提供他的计算或者存储等能力而不具备认证功能。如图

    二,准备工作(在两台物理机上部署)

    1,安装好docker compose组建。

    2,按照我的上两篇文章将friendlyhello镜像运行成功并上传至自己的docker仓库(可选,如果没有,可以push我仓库中的镜像,我已经设置成public了,镜像名称是:sunshine99/ubuntu1.1,在下载前你需要登陆自己的docker帐号哦,运行 docker login 然后输入自己的用户和密码就好了)。

    3,按照我上一篇文章的思路在本地调通了单主机的web应用。

    4,两台主机需在同一个局域网下。

    三,步骤

    1,在任意一台主机上创建一个swarm管理者

    docker swarm init --advertise-addr <ip>

    (将ip替换成自己主机的ip地址即可)

    仔细观察运行后的输出,它会告诉你其他主机加入这个swarm集群需要输入的命令,命令格式为:

    docker swarm join --token <token>  <ip>:<port>

    一般而言,如果是在多台物理机上搭建swarm集群,那么port就是2377,如果是在docker虚拟机上搭建的,那么port就是2376。

    2,在另外一台机器上运行上述命令的输出,若看到This node joined a swarm as a worker 恭喜你,最难的第一步已经创建成功。

    3,部署自己的应用,我这里选取的是一个web应用,这个镜像已经在前面两篇文章中创建好了,这里我再贴一下这个docker-compose.yml文件。

    将上述代码保存为docker-compose.yml,在manager节点的那台机器上运行

    docker stack deploy -c docker-compose.yml getstartedlab

    其中getstartedlab是我给这个web应用取得名字。

    4,运行成功后你可以在manager节点的这台机器上输入命令进行验证查看

    docker stack ps getstartedlab

    5,在两台机器上分别访问该web网页。

    在网页上输入创建manager节点时设定的ip即可。

    至此,一个简单的web应用就部署在了swarm集群上了。完整的流程截图如下。

    四,扩展或卸载应用

    1,扩展应用

    通过docker-compose.yml来扩展应用,修改好该文件后再在manager节点上运行一次

    docker stack deploy -c docker-compose.yml getstartedlab

    2,卸载应用

    docker stack rm getstartedlab

    退出集群

    分别在两台机器上运行docker swarm leave --force

    本文参考了docker官网文献,请勿转载。

  • 相关阅读:
    她又在这个星期联系我了 20110422
    用心去做 20110307
    2011年随笔记
    让我有勇气坚持下去 20110427
    2011年随笔记 5月30号以后的日志薄
    因为迷失,所以 201103015
    迷失只是暂时 20110313
    我们做一对好哥们吧 20101228
    3.20号,她恢复了联系 20110320
    FW: Deploy reporting services web parts (RSWebParts) to SharePoint 2010
  • 原文地址:https://www.cnblogs.com/sunshine-love99/p/8529419.html
Copyright © 2020-2023  润新知