应用场景
如果服务器上有很多镜像和容器,每次查看通过URL,命令行十分不方便,可以通过安装配置shipyard容器管理工具来统一监控管理。
操作步骤
1. 安装docker
按如下步骤操作:
# wget http://mirrors.hustunique.com/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
# yum install docker-io
# service docker start
# chkconfig docker on
查看docker状态:
# service docker status
2. 安装shipyard
# curl -sSL https://shipyard-project.com/deploy | bash -s
由于网络原因,可能会失败,多尝试几次。
安装完成后,即可按照此,进行访问: http://ip:8080 admin/shipyard如下图所示:
但是发现问题了,页面中容器,镜像,节点,什么都没有。造成的原因可能是:1.容器启动顺序不对,2.端口2375未映射到
3. 解决第一个问题,编辑start_shipyard.sh文件,加入如下命令,然后执行:
# sh start_shipyard.sh restart
#!/bin/bash
PREFIX=shipyardrestart_rethinkdb() {
docker $1$PREFIX-rethinkdb
}restart_discovery() {
docker $1$PREFIX-discovery
}restart_certs() {
docker $1$PREFIX-certs
}restart_proxy() {
docker $1$PREFIX-proxy
}restart_swarm_manager() {
docker $1$PREFIX-swarm-manager
}restart_swarm_agent() {
docker $1$PREFIX-swarm-agent
}restart_controller() {
docker $1$PREFIX-controller
}if [ $#-ne1 ];thenecho"Usage:sh shipyard_restart.sh {start|stop|restart}"exit1fiecho"Restarting Shipyard Begin."echo"-> ${1}ing Database"
restart_rethinkdb $1echo"-> ${1}ing Discovery"
restart_discovery $1echo"-> ${1}ing Cert Volume"
restart_certs $1echo"-> ${1}ing Proxy"
restart_proxy $1echo"-> ${1}ing Swarm Manager"
restart_swarm_manager $1echo"-> ${1}ing Swarm Agent"
restart_swarm_agent $1echo"-> ${1}ing Controller"
restart_controller $1echo"${1}ing Shipyard Done."
启动:
# sh shipyard.sh start
停止:
# sh shipyard.sh stop
重启
# sh shipyard.sh restart
4. 解决第二个问题,编辑/etc/sysconfig/docker文件,加入如下红色语句。最后重启docker。
# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker -d
other_args='-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'
DOCKER_CERT_PATH=/etc/docker
# Resolves: rhbz#1176302 (docker issue #407)
DOCKER_NOWARN_KERNEL_VERSION=1
# Location used for temporary files, such as those created by
# # docker load and build operations. Default is /var/lib/docker/tmp
# # Can be overriden by setting the following environment variable.
# # DOCKER_TMPDIR=/var/tmp
# service docker restart
访问连接发现,容器,镜像,nodes都有了!