Swarm 是使用 SwarmKit 构建的 Docker 引擎内置(原生)的集群管理和编排工具。 Docker Swarm 是 Docker 官方三剑客项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。
10年积累的做网站、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有渭城免费网站建设让你可以放心的选择与我们合作。
使用它,用户可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。Swarm mode 内置 kv 存储功能,提供了众多的新特性,比如:具有容错能力的去中心化设计、内置服务发现、负载均衡、路由网格、动态伸缩、滚动更新、安全传输等。使得 Docker 原生的 Swarm 集群具备与 Mesos 、 Kubernetes 竞争的实力。使用 Swarm 集群之前需要了解以下几个概念。
运行 Docker 的主机可以主动初始化一个 Swarm 集群或者加入一个已存在的 Swarm 集群,这样这个运行 Docker 的主机就成为一个 Swarm 集群的节点 (node) 。节点分为 管理 (manager) 节点和工作 (worker) 节点 。
管理节点用于 Swarm 集群的管理, docker swarm 命令基本只能在管理节点执行(节点退出集群命令 docker swarm leave 可以在工作节点执行)。一个 Swarm 集群可以有多个管理节点,但只有一个管理节点可以成为 leader ,leader 通过 raft 协议实现。
工作节点是任务执行节点,管理节点将服务 ( service ) 下发至工作节点执行。管理节点默认也作为工作节点。你也可以通过配置让服务只运行在管理节点。来自 Docker 官网的这张图片形象的展示了集群中管理节点与工作节点的关系。
任务(Task) 是 Swarm 中的最小的调度单位,目前来说就是一个单一的容器; 服务(Services) 是指一组任务的集合,服务定义了任务的属性。服务有两种模式:
两种模式通过 docker service create 的 --mode 参数指定。来自 Docker 官网的这张图片形象的展示了容器、任务、服务的关系。
我们这里利用上一节的 docker machine 来充当集群的主机,首先先创建一个 manager 节点,然后在该节点上执行初始化集群命令:
执行 docker swarm init 命令的节点自动成为管理节点。
管理节点初始化完成后,然后同样的用 docker-machine 创建工作节点,然后将其加入到管理节点之中去即可:
我们可以看到上面的提示信息: This node joined a swarm as a worker. ,表明节点已经加入到 swarm 集群之中了。
经过上边的两步,我们已经拥有了一个最小的 Swarm 集群,包含一个管理节点和两个工作节点。
管理节点使用 docker node ls 查看集群:
使用 docker service logs 来查看某个服务的日志。
使用 docker service rm 来从 Swarm 集群移除某个服务:
正如之前使用 docker-compose.yml 来一次配置、启动多个容器,在 Swarm 集群中也可以使用 compose 文件(docker-compose.yml)来配置、启动多个服务。
上一节中,我们使用 docker service create 一次只能部署一个服务,使用 docker-compose.yml 我们可以一次启动多个关联的服务。
我们以在 Swarm 集群中部署 WordPress 为例进行说明:(docker-compose.yml)
其中 constraints: [node.role == manager] 是调度策略,文档地址:
在 Swarm 集群管理节点新建该文件,其中的 visualizer 服务提供一个可视化页面,我们可以从浏览器中很直观的查看集群中各个服务的运行节点。
在 Swarm 集群中使用 docker-compose.yml 我们用 docker stack 命令,下面我们对该命令进行详细讲解。
部署服务使用 docker stack deploy ,其中 -c 参数指定 compose 文件名。
要移除服务,使用 docker stack down :
该命令不会移除服务所使用的 数据卷 ,如果你想移除数据卷请使用 docker volume rm 。
这个功能我曾经写过一篇文章介绍过的
wordpress3.0的多站点功能(Multisite)默认是没有开启的,需要手动修改设置,后台管理才会出现功能选项按钮。WordPress3.0新特性多站点功能(Multisite)开启设置方法
一、修改网站中的wp-config.php文件,在其末尾添加下列代码:
define(‘WP_ALLOW_MULTISITE’, ‘true’);
修改之后,登陆后台管理页面,你将会发现,侧边栏“工具(Tools)”菜单下,将会多出一个“网络(Networks)”选项。
二、点击“网络(Networks)”选项,进入多站点设置,填写将要开启新站点的名称(Network Title)和管理员邮箱(Admin E-mail Address),并点击安装(install)。注意:开启之前,必须停用所有插件。
三、安装之后,按照提示,需要在网站文件夹 wp-content 目录下创建一个名为 blogs.dir 的文件夹,用来存储新开站点上传的多媒体文件,同时必须将 blogs.dir 文件夹的读写权限更改成0666 (-rw-rw-rw-)以确保该目录可写。
将弹出页面中的第二项中的代码,也就是按照提示复制到你的 wp-config.php 中的 /* That’s all, stop editing! Happy blogging. */ 这段文字的上方。
再将第三项中的代码复制到 .htaccess 文件中,覆盖其他 WordPress 规则,注意哦,这里是覆盖,也就是说原来的内容不需要了。
四、上面的步骤就开启了WordPress3.0新特性多站点功能(Multisite),点击顶端的弹出框的“配置页面”,进入详细设置页面。
其他设置只要按要求填写就好了。但这里要注意“允许注册”这一项,如果你想要给用户开启多站点功能,那个站点创建是一定要的,就比如说最后一项“站点和用户帐户都可被创建”,这个选项就表示,用户可以注册帐号,并且可以在你的博客里注册新博客。
对于不懂代码的人,最简单的方法,当然是用插件了;
对于懂点代码的人,最简单的方法,取决于他懂的代码的多少和想添加的新特性的功能是否匹配;
对于熟悉代码的人,最简单的方法,写代码。
在主题的functions.php中添加如下代码 1 2 3 4 //使WordPress支持post thumbnail if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); } 注意:这段代码应当加载functions.php的body中,不要写进函数里。 1 add_image_size( $name, $width, $height, $crop ); 在functions.php中,写在add_theme_support()之后,完整代码如下 1 2 3 4 5 6 7 //add post thumbnails if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); } if ( function_exists( 'add_image_size' ) ) { add_image_size( 'customized-post-thumb', 100, 120 ); } 创建几个不同的缩略图尺寸,用到的函数: Post Thumbnail功能详细说明 如何调用特色图像 在post模板中 1 2 3 4 5 6 可以调用不同尺寸的图片 1 2 3 4 5 6 the_post_thumbnail(); // 无参数,默认调用Thumbnail the_post_thumbnail('thumbnail'); // Thumbnail (默认尺寸 150px x 150px max) the_post_thumbnail('medium'); // Medium resolution (default 300px x 300px max) the_post_thumbnail('large'); // Large resolution (default 640px x 640px max) the_post_thumbnail('full'); // Full resolution (original size uploaded) the_post_thumbnail( array(100,100) ); // Other resolutions 如何从后台修改缩略图尺寸 访问后台设置媒体,缩略图大小这一项就是特色图像(Featured Image or Thumbnail)的尺寸,也就是the_post_thumbnail()不加参数时调用的图片的尺寸。根据需要修改其参数即可。上传图片时WordPress会自定生成这个尺寸的图片。 为文章添加特色图片的三种方法 编辑文章时我们有三种方式添加特色 1. 上传图片时点击“作为特色图像”进行设置,如下图所示,点击后显示“完成”即表示设置成功。设置好的特色图像会在右侧栏目中显示出来。 2. 点击右侧栏目中的特色图像设置,如下图所示,点击“设置特色图像”按钮后弹出与方法一一样的界面,设置方法也相同 3. 如果你没有用上述两种方法设置,那么你也许希望从文章中已经存在的图片中选取一张作为特色图像,WordPress考虑的很周到,你可以轻松选择文中已有的图像。 点击右侧工具栏的设置特色图像按钮,弹出如下所示对话框,选项卡切换到相册,就可以看到所有文中已经插入的图片,点击显示就会出现和方法一一样的界面,照着方法一设置即可。 WordPress 3.5新特性 WordPress 3.5的媒体上传工具界面友好,简单易懂,性能更强,有了脱胎换骨的变化,如果你还没有升级,赶快准备一下吧。 WordPress 3.5下设置特色图像更加简单,图像以缩略图列表形式呈现,要设置哪个为特色图像,只需轻轻一点,被设置为特色图像的图片会打上√。 通过下拉列表可以查看媒体库所有文件,也可以只查看当前文章的附件。搜索功能更加强大,只需要键入关键词,就会以无刷新页面的方式呈现搜索结果。 特色图像的应用 特色图像可以用到很多地方,例如 首页幻灯片 作为特色内容(Featued Post)的缩略图