ship安裝
環境準備
- centos7
- 已安裝好docker
- 開啟端口
# 用于通路shipyard頁面 firewall-cmd --zone=public --add-port=8080/tcp --permanent # 服務發現(etcd) firewall-cmd --zone=public --add-port=4001/tcp --permanent firewall-cmd --zone=public --add-port=7001/tcp --permanent # Docker代理服務 firewall-cmd --zone=public --add-port=2375/tcp --permanent # Swarm管理節點(swarm manager) firewall-cmd --zone=public --add-port=3375/tcp --permanent # 重新加載 firewall-cmd --reload
拉取shipyard相關鏡像
docker pull rethinkdb
docker pull microbox/etcd
docker pull shipyard/docker-proxy
docker pull swarm
docker pull shipyard/shipyard
進行安裝
可以使用ifconfig檢視自己docker0的IP位址,然後進行替換即可
注意:
下面的172.17.0.1是docker0的IP,需要根據自己的環境進行替換
- 資料存儲(rethinkdb)
docker run -ti -d --restart=always --name shipyard-rethinkdb rethinkdb
- 服務發現(etcd)
docker run -ti -d -p 4001:4001 -p 7001:7001 --restart=always --name shipyard-discovery microbox/etcd -name discovery
- Docker代理服務(shipyard/docker-proxy)
docker run -ti -d -p 2375:2375 --hostname=172.17.0.1 --restart=always --name shipyard-proxy -v /var/run/docker.sock:/var/run/docker.sock -e PORT=2375 shipyard/docker-proxy
- Swarm管理節點(swarm manager)
docker run -ti -d --restart=always -p 3375:3375 --name shipyard-swarm-manager swarm manage --host tcp://0.0.0.0:3375 etcd://172.17.0.1:4001
- Swarm Agent節點将目前docker節點加入到叢集中
docker run -ti -d --restart=always --name shipyard-swarm-agent swarm join --addr 172.17.0.1:2375 etcd://172.17.0.1:4001
- 啟動Shipyard管理工具
docker run -ti -d --restart=always --name shipyard-controller --link shipyard-rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm -p 8080:8080 shipyard/shipyard server -d tcp://swarm:3375
-
浏覽器通路測試
使用浏覽器通路自己的ip:8080進行測試
賬号密碼:
admin/shipyard
問題總結
1、需要先開啟端口,否則應用之間通路不到,導緻即使shipyard能啟動,但是清單無資料
2、
172.17.0.1要替換為自己docker0網卡的IP
重要的事再次重複一遍
3、需要對照啟動容器的指令,以使用到的端口作為突破口,了解各個容器間的關系
4、學習一個東西,第一遍跟着做,第二遍想一想為什麼這樣做,第三遍得學會了解為什麼要這樣做,是什麼關系讓這些東西組合在一起進行工作