Docker 使用方法总结之:管理工具 shipyard 的详细使用指南,dockershipyard


Docker 的命令行就已经很好用了,如果非要加上基于 Web 的管理界面的话也有一些选择,如 DockerUI (Angular.js), Dockland (Ruby), Shipyard (Python/Django) 等,不过目前来看 Shipyard 项目要活跃一点,Shipyard 支持多 host,可以把多个 Docker host 上的 containers 统一管理;可以查看 images,甚至 build images;并提供 RESTful API 等等。 

网上有很多关于shipyard的安装文档,但是实际的安装过程总是出一些莫名其妙的问题,下面为个人的使用总结 起初尝试通过Centos7 来安装shipyard,但是安装了好久,总是出现shipyard/shipyard镜像不能启动容器,通过查看日志,报一下异常:
time="2015-04-20T03:35:12-04:00" level=fatal msg="Error response from daemon: 
Cannot start container 4df4e127d80dbfbf26a972a00f51085570fff275554979e80901ee93c7f69b29: [8] 
System error: [/usr/bin/tar -cf /var/lib/docker/tmp/4df4e127d80dbfbf26a972a00f51085570fff275554979e80901ee93c7f69b29725221613
/_run.tar -C /var/lib/docker/devicemapper/mnt/4df4e127d80dbfbf26a972a00f51085570fff275554979e80901ee93c7f69b29/rootfs/run .] 
failed: : fork/exec /usr/bin/tar: no such file or directory" 
后来在网上查了很多资料,终于找到了原因,原来是docker版本的问题,通过Centos7安装的Docker版本是1.6,这个问题在Docker 1.6.2中被解决,
详细描述请查看:https://bugzilla.redhat.com/show_bug.cgi?id=1213258
由于目前CoreOS自带的Docker版本为1.6.2所以将演示系统换成CoreOS. 演示过程主要在两台CoreOS的虚拟机上演示(虚拟机A,虚拟机B),虚拟机A用来安装shipyard,虚拟机B用来被shipyard管理
虚拟机A的操作
  1. 实际上现在安装很简单了, docker的方式只需要下载容器并加些参数运行即可,依次运行以下命令
    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 shipyard/rethinkdb
    docker run -it -p 8080:8080 -d --name shipyard --link shipyard-rethinkdb:rethinkdb shipyard/shipyard
    详细的安装方式可以参考:
    http://shipyard-project.com/docs/quickstart/
  2. 执行完的效果如下:

  3. 启动完容器后,登录页面http://10.0.0.137:8080/  用户名密码是admin/shipyard,登录成功后效果如下


虚拟机B的操作
  1. 停止docker服务
    systemctl stop docker
  2. 以端口监听的方式启动docker服务
    /usr/bin/docker -H 0.0.0.0:2375 -d
    绑定端口的运行方式可以参考:
    http://docs.docker.com/articles/basics/#bind-docker-to-another-hostport-or-a-unix-socket

shipyard服务的操作
  1. 添加主机

  2. 当前的版本存在Bug,如果想要点击Containers,必须要首先在虚拟机B中手动的方式运行一个容器,否则该标签无法点击

相关内容