京寵展信息指南
1057
2022-05-30
一、概述
Docker圖形化(視圖化)頁面管理工具基本常用的有三種: DOCKER UI、Shipyard、Portainer。相對而言,Shipyard最強大,其次是Portainer,最后是Docker UI。Shipyard也是基于 Docker API 實現的容器可視化(web版)管理系統,支持container、images、engine、cluster等功能,它同樣也可以簡化對橫跨多個主機的Docker容器集群進行管理。通過web用戶界面,你可以大致瀏覽相關信息,比如你的容器在使用多少處理器和內存資源、在運行哪些容器,還可以檢查所有集群上的事件日志等??蓾M足我們基本的容器部署需求。
二、Shipyard功能特性及概念
2.1、Shipyard功能
其功能特性主要包括:
①、支持節點動態集群,可擴展節點的規模(swarm、etcd方案)
②、支持鏡像管理、容器管理、節點管理等功能
③、可視化的容器管理和監控管理
④、在線容console終端
2.2、Shipyard的幾個概念
①、engine:一個shipyard管理的docker集群可以包含一個或多個engine(引擎),一個engine就是監聽tcp端口的docker daemon。另外,shipyard可以對每個engine做資源限制,包括CPU和內存;因為TCP監聽相比Unix socket方式會有一定的安全隱患,所以shipyard還支持通過SSL證書與docker后臺進程安全通信。
什么是engine?
一般當人們說 “Docker”時, 他們一般指的是Docker Engine, 一個client-server 結構的應用, 包含 Docker daemon(docker守護進程)、一個用來和 daemon 交互的REST API、 一個命令行應用CLI。Docker Engine 在命令行中接收并解析、執行docker 命令, 例如: docker run、docker ps等。
三、Shipyard所依賴的幾個鏡像
①、rethinkdb:在shipyard中充當數據庫的角色(實際上它也就是一個數據庫)。它是一個NoSQL數據庫,用于存儲shipyard系統的數據,比如賬號、節點、容器等信息。
②、microbox/etcd:服務注冊、發現系統。K/V存儲系統,用于Swarm節點實現服務注冊、發現。也支持consul、zookeeper。
③、shipyard/docker-proxy:docker API代理。連接本地/var/run/docker.sock代理,用于讓Swarm Agent連接API管理。
④、swarm:swarm集群。官方管理Docker集群工具,使得多個engine為一個整體管理,對外提供Swarm manager API,用戶就像操作單臺Engine一樣。
⑤、shipyard/shipyard:shipyard前端。容器Web管理系統,內部連接Swarm Manager管理容器和RethinkDB存儲數據。
四、Shipyard部署
部署分為自動部署和手動部署,這里我們使用手動部署。
4.1、先提前下載好相關依賴鏡像(這些鏡像如果不提前下載,則在安裝部署時會自動下載,不過要等待一段時間,所以最好提前下載,部署時就很快了)
docker pull rethinkdb` `docker pull microbox``/etcd` `docker pull shipyard``/docker-proxy` `docker pull swarm` `docker pull shipyard``/shipyard
①、第一步安裝Datastore帳號密碼管理容器
docker run \`` ``-ti \ -d \`` ``--restart=always \`` ``--name shipyard-rethinkdb \`` ``rethinkdb
②、第二步安裝集群發現Discovery服務
docker run \`` ``-ti \ -d \`` ``-p 4001:4001 \`` ``-p 7001:7001 \`` ``--restart=always \`` ``--name shipyard-discovery \`` ``microbox``/etcd` `-name discovery`` ` `#映射的端口號為4001 其它組件連接4001進行服務注冊
③、第三步安裝docker-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
④、第四步安裝Swarm管理節點
#官方文檔部署如下,下面的
⑤、 第五步安裝Swarm從節點
docker run \`` ``-ti \`` ``-d \`` ``--restart=always \`` ``--name shipyard-swarm-agent \`` ``swarm:latest \`` ``join` `--addr 119.3.220.26:2375 etcd:``//119``.3.220.26:4001`` ` `#注意:上面有2個地方的ip地址為119.3.220.26,均需要換成你自己實際的ip地址。119.3.220.26是本文使用的ip地址` `#這一步驟表示:swarm節點所部署了一個程序,將它加入到swarm集群中,去做本機的容器的管理
⑥、第六步(最后一步)安裝Shipyard管理界面,也就是web版管理docker的UI界面
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
可以使用 docker ps 命令來查看我們的容器是否都安裝部署成功,是否都已經在后臺運行中了,示例截圖如下:
從上圖中我們看到,一切就緒 沒有問題。
五、瀏覽器訪問Shipyard
訪問 http://[ip-of-host]:8080 即可訪問shipyard web-ui界面,本文這里的訪問url是:http://119.3.220.26:8080
默認帳號:admin
默認密碼:shipyard
使用賬號和密碼登錄之后的shipyard顯示界面如下:
至此,shipyard安裝完畢,大家慢慢體驗熟悉它吧。
六、尾聲
本文安裝的shipyard的ui界面是英文版(原版)的,不過是有中文版的ui界面的。如果想要安裝中文版的可以參考如下連接:
https://blog.csdn.net/xcbeyond/article/details/82796667
https://blog.51cto.com/13941177/2368204
官方部署文檔:http://shipyard-project.com/deploy/
官方手動部署文檔:http://shipyard-project.com/manual-deployment/
Docker web前端
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。