Docker管理工具Shipyard初体验


【编者的话】Shipyard是一个Docker管理工具,有WEB界面也可以通过CLI来管理Docker主机、镜像、容器 。要方便的管理Docker相关服务,基于Web的方式来管理肯定是首选。本文介绍了Shipyard的使用方式。

Shipyard是一个Docker的管理工具,你可以用它管理在不同机器上Docker镜像和容器的部署,但是在本篇博文中,我将会向你展示如何在你的本地机器上使用Shipyard。

在你机器上安装Shipyard的时候会开启几个端口,请确保这些端口对外不可访问,具体如下:
  • 49153:rethinkDB 实例
  • 49154:rethinkDB 集群
  • 49155:rethinkDB Web界面
  • 4243:Docker界面
  • 8080:ShipyardWeb界面


首先确保你已经安装了最新版本的Docker(通过apt-get安装的Docker版本比较旧,不推荐安装)。

我们可以通过阅读Shipyard的安装指南来快速在Docker容器中运行Shipyard。你不能在机器上直接访问Docker后台进程。所以我们需要让Docker监听4243端口,以保证Shipyard可以访问它。
sudo sh -c "echo 'DOCKER_OPTS=\"-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock\"' >> /etc/default/docker"

现在我们可以从Docker Hub拉取最新的Docker镜像,并运行它,这样我们就可以启动Shipyard了。
docker run -it -d --name shipyard-rethinkdb-data \
   --entrypoint /bin/bash shipyard/rethinkdb -l

docker run -it -P -d --name shipyard-rethinkdb \
   --volumes-from shipyard-rethinkdb-data \
   --restart=always shipyard/rethinkdb

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

现在你的shipyard 已经起来并运行了。你可以通过 http://localhost:8080访问Web界面
我们也可以通过CLI访问Shipyard,要这样做也很简单,我们只要再启动一个容器。你可能会想把这个命令保存成一个脚本或者进行重命名来让你更容易记住它。
docker run --rm -it shipyard/shipyard-cli

一旦你在使用 CLI , 你需要登录到我们刚起启动的那个Shipyard实例。请记住: ClI是运行在一个独立的容器中的,不能够直接的访问你的主机,也不能直接访问Shipyard服务器。要想访问二者,需要使用你的本地主机的公网或者局域网IP地址。你可以执行 ifconfig 并查找 inet 地址来找到你当前网络连接的字符串(通常是 eth0)。

运行 shipyard 登录 。url中的host使用你刚才找到的IP地址,端口采用8080,例如:http://192.168.1.10:8080,默认的用户名是admin,密码是shipyard。

在你已经登录到CLI或者Web接口,我们仍然需要将localhost的Docker后台进程连接到Shipyard(记住: Shipyard从它的容器中无法直接访问你的主机)。在Web界面中你可以到引擎选项卡。从CLI你可以运行:
shipyard add-engine --id 'localhost' \
     --addr 'http://[your-ip]:4243' \
     --cpus '1.0' --memory '1024' \
     --label 'local' --label 'dev'

现在你已经设置好了你的Shipyard并将它指向了你的本地主机。到此你能够可以看到好几个运行中的容器,比如Shipyard本身。你可以通过点击部署来添加新的容器。

如果你愿意,你也可以管理其它服务器来运行Docker,这需要把他们加入到引擎中。但是一定要保证你的连接。

原文链接:Trying out Shipyard on your local machine(翻译:蔺瑞超)

====================
译者介绍
蔺瑞超,汽车之家数据库高级工程师, 热爱运维,热爱数据库技术,擅长互联网高并发场景的数据架构,Python使用和爱好者,热爱开源技术,目前对虚拟化很感兴趣,研究学习Docker中。更多请看 : http://ruiaylin.github.io/

5 个评论

Shipyard will create a default user account with the username admin and the password shipyard. You should then be able to open a browser to http://<your-host-ip>:8080 and see the Shipyard login.



密码应该是 shipyard,

请更正上文 ‘ 默认的用户名是admin,密码是passwordshipyard ’密码字段
是的 ,已经修改
Centos7上安装shipyard,失败。界面打不开呢?
[root@docker init.d]# docker run -it -p 8080:8080 -d --name shipyard --link shipyard-rethinkdb:rethinkdb --restart=always shipyard/shipyard
FATA[0000] Error response from daemon: Conflict. The name "shipyard" is already in use by container 62200183fb16. You have to delete (or rename) that container to be able to reuse that name. 容器已经创建。
yingz

yingz 回复 ywl185

因为已经有名为"shipyard"正在运行了。直接start它即可,不必再run了。
请教一下,shipyard如何创建容器到指定的node节点上??

要回复文章请先登录注册