Ubuntu下部署Shipyard管理docker

时间:2021-07-05 06:25:06

使用k8s对于我这种新人来说,难度有点大。遂尝试使用Shipyard这个docker web ui工具来进行管理,以方便入门。

首先,我们还是需要在我们的主机上安装docker。

然后官方提供了自动安装脚本和手动安装两种方式,这里我们采用手动安装的方式。

主节点

1.安装Datastore

docker run \
-ti \
-d \
--restart=always \
--name shipyard-rethinkdb \
rethinkdb

2.安装Discovery

docker run \
-ti \
-d \
-p 4001:4001 \
-p 7001:7001 \
--restart=always \
--name shipyard-discovery \
microbox/etcd -name discovery

3. 安装Proxy

docker run \
-ti \
-d \
-p 2375:2375 \
--hostname=$HOSTNAME \
--restart=always \
--name shipyard-proxy \
-v /var/run/docker.sock:/var/run/docker.sock \
-e PORT=2375 \
shipyard/docker-proxy:latest

4. Swarm Manager

docker run \
-ti \
-d \
--restart=always \
--name shipyard-swarm-manager \
swarm:latest \
manage --host tcp://0.0.0.0:3375 etcd://<IP-OF-HOST>:4001

5. 安装Controller

docker run \
-ti \
-d \
--restart=always \
--name shipyard-controller \
--link shipyard-rethinkdb:rethinkdb \
--link shipyard-swarm-manager:swarm \
-p 8080:8080 \
shipyard/shipyard:latest \
server \
-d tcp://swarm:3375

6. Swarm Agent

这一步是将本机也加入到集群中。

sudo docker run \
-ti \
-d \
--restart=always \
--name shipyard-swarm-agent \
swarm:latest \
join --addr <IP-OF-HOST>:2375 etcd://<IP-OF-HOST>:4001

至此,主节点配置完成。它会曝露主机的8080端口作为shipyard的api controller入口.

因此你访问http://:8080 即可进入登录界面。

默认账号的 admin 密码是 shipyard。

从节点

建议使用hostnamectl set-hostname new-name命令将节点改名,以防重复节点名出现。

1. 安装Proxy

sudo docker run \
-ti \
-d \
-p 2375:2375 \
--hostname=$HOSTNAME \
--restart=always \
--name shipyard-proxy \
-v /var/run/docker.sock:/var/run/docker.sock \
-e PORT=2375 \
shipyard/docker-proxy:latest

2. Swarm Manager

sudo docker run \
-ti \
-d \
--restart=always \
--name shipyard-swarm-manager \
swarm:latest \
manage --replication --addr <从节点ip>:3375 --host tcp://0.0.0.0:3375 etcd://<主节点ip>:4001

3. Swarm Agent

sudo docker run \
-ti \
-d \
--restart=always \
--name shipyard-swarm-agent \
swarm:latest \
join --addr <从节点ip>:2375 etcd://<主节点ip>:4001

成功后便加入了一个节点。

PS:我测试后发现,web页面上的container栏显示是正常的,但是node栏却无法列出节点。

Ubuntu下部署Shipyard管理docker

Ubuntu下部署Shipyard管理docker