专栏首页云计算教程系列如何在Ubuntu 14.04上使用Shipyard部署Wordpress
原创

如何在Ubuntu 14.04上使用Shipyard部署Wordpress

介绍

Shipyard是Docker服务器的管理工具。Docker是用于集装箱化的尖端软件。Shipyard允许您查看每个服务器正在运行的容器,以便启动或停止现有容器或创建新容器。

在服务器上设置Shipyard后,可以使用图形界面,命令行界面或API访问它。Shipyard缺少其他Docker编排工具的一些高级功能,但设置非常简单,免费使用,您可以自己管理和托管它。

本教程介绍如何安装Shipyard,将其连接到Docker服务器,以及如何使用它来创建和启动新容器。最后,您应该在服务器上运行Shipyard来管理Docker主机。

准备

要学习本教程,您需要:

  • 一个带有Docker 1.5.0映像的Ubuntu 14.04 腾讯云CVM。

没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

您可以在腾讯云CVM创建页面的“ 选择镜像”下的“ 应用程序”选项卡中找到Docker 1.5.0映像选项。

注意:Ubuntu 14.04的标准存储库中的docker.io包非常旧(版本0.9.1)。要使用Shipyard,您需要使用上面列出的方法之一安装最新版本的Docker。

第1步 - 安装Shipyard

在此步骤中,我们将安装Shipyard。本教程中的命令都需要root权限,因此最简单的方法是以root用户身份登录腾讯云CVM。如果您以非root用户身份登录,则可以运行sudo su以切换到root用户。

一旦你运行Docker,就可以很容易地安装Shipyard,因为它可以作为Docker镜像提供。您需要做的就是从Docker注册表中提取镜像并运行必要的容器。首先,我们将创建一个数据卷容器来保存Shipyard的数据库数据。这个容器本身不会做任何事情; 它是所有Shipyard数据位置的便利标签。

docker create --name shipyard-rethinkdb-data shipyard/rethinkdb

现在已经创建了数据卷容器,我们可以为Shipyard启动数据库服务器并将它们链接在一起。

docker run -it -d --name shipyard-rethinkdb --restart=always --volumes-from shipyard-rethinkdb-data -p 127.0.0.1:49153:8080 -p 127.0.0.1:49154:28015 -p 127.0.0.1:29015:29015 shipyard/rethinkdb

这将启动一个运行RethinkDB(一个分布式数据库)的容器,并确保它只能在服务器本身上本地访问。如果您尝试在浏览器中访问http://your_server_ip:49153,则不会看到任何内容。

现在Shipyard的数据库已启动,我们可以通过启动另一个容器并将其链接到数据库来运行Shipyard本身。

docker run -it -p 8080:8080 -d --restart=always --name shipyard --link shipyard-rethinkdb:rethinkdb shipyard/shipyard

我们现在可以使用端口8080访问我们正在运行的Shipyard实例。

第2步 - 进入Shipyard

现在Shipyard正在运行,我们需要访问它。可以通过GUI,命令行界面(CLI)或API访问船厂。我们首先通过CLI访问。

使用CLI访问Shipyard

我们可以通过运行另一个容器来访问Shipyard CLI。

docker run -ti --rm shipyard/shipyard-cli

-ti标志确保容器是交互式的,并且该--rm标志使它成为一次性容器,这意味着一旦我们完成它就会自动删除它。

您现在应该看到Shipyard CLI提示符,如下所示:shipyard cli>。要获取可进入shipyard help的可用命令列表。

此命令提示尚未连接到我们在步骤1中设置的Shipyard实例,所以让我们先连接它:

shipyard login

它会提示您输入URL。输入http://your_server_ip:8080。接下来,系统将提示您输入用户名和密码。用户名和密码是默认设置的; 输入用户名admin和密码shipyard。然后,您将返回Shipyard提示符。

现在您以管理员身份登录Shipyard实例。保留默认密码是一个巨大的安全风险,所以让我们改变它。

shipyard change-password

您需要选择并确认新密码。确保您的新密码是安全的,并且您将能够记住它。您现在可以按CTRL + D退出Shipyard CLI。

由于Shipyard命令行每次都必须连接到Shipyard实例,因此您可以在任何能够运行Docker容器的系统上运行Shipyard命令行,并将其连接到服务器上运行的Shipyard实例。

使用GUI访问Shipyard

接下来,我们将看看Shipyard的图形界面。要访问它,请在浏览器中打开http://your_server_ip:8080。这应该显示登录屏幕。使用用户名admin和您选择的新密码

登录后,Shipyard将显示“ 引擎”选项卡,并警告您尚未在Shipyard群集中找到引擎。一个引擎是能够运行集装箱的码头工人主机。在这里,我们将添加您要使用Shipyard管理的每个Docker服务器。

第3步 - 添加引擎

我们刚刚部署Shipyard的腾讯云CVM也是Docker主机,因此我们可以使用Shipyard进行管理。在我们能做到之前; 但是,我们需要将服务器添加到Shipyard作为引擎。

默认情况下,Docker配置为侦听Unix套接字/var/run/docker.sock,但无法从我们的Shipyard实例访问该套接字。我们需要将Docker配置为也侦听端口上的请求。为此,请使用您喜欢的文本编辑器编辑Docker配置文件。(在这里,我们使用nano。)

nano /etc/default/docker

最后,添加以下行:

DOCKER_OPTS="-H tcp://your_server_ip:4243 -H unix:///var/run/docker.sock"

这将确保Docker接受端口上的连接4243,但仅限于您的服务器本身。现在重启Docker以加载新配置:

service docker restart

这也将重启您的Shipyard容器。由于我们用--restart=always运行容器,所以它们应该自动恢复。您可以通过运行来验证这一点:

docker ps

如果由于某种原因Shipyard容器没有重新启动,您可以通过运行docker start shipyard-rethinkdb shipyard手动重新启动它们。

现在您的Docker主机已正确配置,我们可以将它作为引擎添加到Shipyard。访问Shipyard GUI并转到“ 引擎”选项卡。单击+添加按钮。它看起来像这样:

添加以下字段。

  • 名称:使用允许您将引擎识别为当前腾讯云CVM的名称,例如腾讯云CVM的主机名。
  • 标签:您添加到引擎的标签将允许您控制允许在其上运行的容器。根据您要使用此腾讯云CVM的内容,您可以使用生产或测试等标签。
  • 地址:使用我们刚刚打开的Docker端口http://your_server_ip:4243

现在单击底部的“ 添加”按钮。Shipyard现在将连接到您的Docker主机,验证连接,并将其添加为引擎。完成此操作后,您将被定向回“ 引擎”选项卡。首先将引擎列为离线引擎。等一两秒刷新页面,您现在应该可以看到Docker主机的详细信息。

第4步 - 使用Shipyard部署容器

现在我们已将Docker主机添加到Shipyard作为引擎,我们可以使用Shipyard来启动,停止和部署容器。

访问Shipyard GUI并查看Containers选项卡。这将列出您已添加到Shipyard的每个Docker主机上运行的所有容器。如果你没有做任何其他事情,这个标签应至少显示三个容器,其中两个正在运行:

让我们尝试部署一个新的Wordpress博客。使用官方Docker repo映像,我们需要部署MySQL和Wordpress容器。

单击+ Deploy按钮。下一个屏幕将允许我们配置要部署的容器。在下面指定的字段中输入信息。

  • 图片:输入mariadb。(MariaDB是MySQL的开源分支。)
  • 容器名称:您可以使用任何您喜欢的东西,例如mysql-test
  • 环境:镜像描述将告诉您可以使用哪些环境变量。在这种情况下,使用MYSQL_ROOT_PASSWORD=6f23b328e7
  • 类型:这确定了如何跨多个引擎部署容器。在这种情况下,使用service
  • 标签:这将用于匹配容器和引擎。只需选中您分配给引擎的其中一个标签即可。
  • 重新启动策略:这确定在错误或Docker重新启动后是否应自动重新启动容器。在这种情况下,请保持开启状态no

现在单击Deploy。容器启动需要一段时间。您应该被重定向回容器列表,该列表现在应该有一个名为mysql-test(或您使用的名称)的容器。

您刚刚使用Shipyard部署了第一个Docker容器!

现在我们将使用相同的过程来部署链接到MySQL容器的WordPress容器。再次单击+ Deploy按钮并填写以下内容:

  • 图片wordpress
  • 名称wordpress-test
  • 链接mysql-test:mysql
  • 类型service
  • 标签:检查您用于引擎的任何一个。
  • 重启策略:保持no状态。

还有一件事要做:我们希望能够从任何地方访问这个WordPress容器的Web内容,因此我们必须公开其端口80。为此,请单击标题Port旁边的加号。

选择TCP根据协议,离开IP空白处输入1234端口80容器端口

现在您可以单击“ 部署”。再一次,您将需要一段时间才能被重定向回容器列表。该列表现在还应显示一个名为wordpress-test的容器。单击旁边的链接以查看更多详细信息。

Ports下,您将看到WordPress容器的端口80现在已发布到您的服务器端口1234。Shipyard有助于直接将此列表设为可点击链接,您可以使用该链接转到已发布的地址。

单击此链接。这将带您进入WordPress安装向导。填写该页面上的字段后,您将能够登录到全新的WordPress博客,并将其视为网站。

结论

您现在已成功使用Shipyard在Docker主机上部署实际应用程序!

您已在您的服务器上启动并运行Shipyard。您还应该能够使用Docker配置其他服务器并将它们连接到Shipyard实例以进行管理。您还学习了如何使用CLI和GUI连接到Shipyard实例,并学习了如何使用GUI在Docker主机上部署新容器。

想要了解更多关于使用Shipyard部署Wordpress的相关教程,请前往腾讯云+社区学习更多知识。


参考文献:《How To Deploy Wordpress with Shipyard on Ubuntu 14.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Ubuntu 14.04上安装和使用Docker Compose

    Docker是一个很棒的工具,但要真正充分发挥其潜力,最好是应用程序的每个组件都在自己的容器中运行。对于具有大量组件的复杂应用程序,编排所有容器以一起启动和关闭...

    小铁匠米兰的v
  • 如何在Ubuntu 14.04上安装和使用命令行备忘单

    Cheat是一个基于命令行的Python程序,允许系统管理员查看和存储有用的备忘单。它检索所选命令的纯文本示例,以便提醒用户选项,参数或常用用途。 Cheat非...

    小铁匠米兰的v
  • 如何将ownCloud转换为Nextcloud

    ownCloud的核心开发团队中一部分人员启动了一个名为Nextcloud的项目。虽然ownCloud将继续开发,但您可能想了解新项目的功能。Nextcloud...

    小铁匠米兰的v
  • Bash 条件判断与流程控制相关语句详解

    介绍 if case 等语句。 条件判断语句 字符串判断 str1 = str2    当两个字符串有相同内容、长度时为真 str1 != str2   当字符...

    康怀帅
  • docker搭建gitlab和svn服务

    lestat
  • Elasticsearch: 运用 Field collapsing 来减少基于单个字段的搜索结果

    允许根据字段值折叠搜索结果。 折叠是通过每个折叠键仅选择排序最靠前的文档来完成的。要想理解这个其实也并不难,我们就那百度音乐的页面例子来说:

    腾讯云ES团队
  • WordPress代码显示查询次数/加载时间/内存占用

    performance的参数 ture 表示在页面前端显示。如果你想在页面中不显示,只在html源码中可见可改为 false!

    空木白博客
  • PDF文档的自动化测试

    2.2、设计思路: 场景一:最直接的方案是引入外部jar包,如PDFBox( https://pdfbox.apache.org/index.html)。PDF...

    用户5521279
  • 讲讲 group by 的实现原理

    写过 Sql 的同学应该都知道 group by 是用来对数据进行分组的,一般与聚合函数一起使用,对分组后的数据进行聚合。虽然大家都在用,但是有些同学还是不太清...

    张俊红
  • 插件推荐 - twitter分布式主键id生成器与SID

    推荐一个插件,那就是idworker,用了一年了,还是挺好用,先来说说干嘛的吧,鉴于现在主键的生成模式先来探讨一下 1、id自增:比较普遍,但是在数据备份恢复的...

    风间影月

扫码关注云+社区

领取腾讯云代金券