前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 14.04上使用Shipyard部署Wordpress

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

原创
作者头像
小铁匠米兰的v
修改2018-09-26 16:27:49
1.9K0
修改2018-09-26 16:27:49
举报

介绍

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数据位置的便利标签。

代码语言:javascript
复制
docker create --name shipyard-rethinkdb-data shipyard/rethinkdb

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

代码语言:javascript
复制
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本身。

代码语言:javascript
复制
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。

代码语言:javascript
复制
docker run -ti --rm shipyard/shipyard-cli

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

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

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

代码语言:javascript
复制
shipyard login

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

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

代码语言:javascript
复制
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。)

代码语言:javascript
复制
nano /etc/default/docker

最后,添加以下行:

代码语言:javascript
复制
DOCKER_OPTS="-H tcp://your_server_ip:4243 -H unix:///var/run/docker.sock"

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

代码语言:javascript
复制
service docker restart

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

代码语言:javascript
复制
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》

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 准备
  • 第1步 - 安装Shipyard
  • 第2步 - 进入Shipyard
    • 使用CLI访问Shipyard
      • 使用GUI访问Shipyard
      • 第3步 - 添加引擎
      • 第4步 - 使用Shipyard部署容器
      • 结论
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档