docker web-GUI DockerUI和Shipyard對比

DockerUI和Shipyard對比

相似

基於Docker API,提供等同Docker命令行的大部分功能,支持container管理,image管理。

web頁面查看和管理容器和鏡像,均能批量管理容器的生命週期管理

差異

dockerui能修改容器配置
dockerui修改容器

dockerui能管理和新增網絡
dockerui能管理和新增網絡

dockerui能新增volume
dockerui能新增volume

Shipyard能創建容器
Shipyard創建容器

Shipyard能拉取鏡像
Shipyard能拉取鏡像

Shipyard能多主機管理,支持節點動態集羣,可擴展節點的規模(swarm、etcd方案)
Shipyard能多主機管理

Shipyard能管理倉庫
Shipyard能管理倉庫

Shipyard能實現容器的伸縮、終端、stats等功能
Shipyard能實現容器的伸縮、終端、stats等功能

DockerUI

優點

支持容器批量操作,可以修改容器配置(需要重啓容器),查看日誌、top等命令
支持image管理
支持網絡管理,可以創建、修改等
支持鏡像管理
支持查看拓撲

缺點

不支持多主機
不支持容器創建
不支持容器終端

部署

docker run -itd --memory 1g --cpuset-cpus=0 --name dockerui --hostname dockerui -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker

http://宿主機IP:9000

Shipyard

Shipyard是在Docker Swarm實現對容器、鏡像、docker集羣、倉庫、節點進行管理的web系統。

特性

Shipyard是完全基於Docker API,支持container管理、engine管理(一個engine就是監聽tcp端口的docker daemon)。

優點

支持多主機;
容器管理:除了管理生命週期外,還支持批量、終端、log、新增、伸縮、stats等等。
鏡像管理:支持修改tag、pull等
新增倉庫

缺點

不支持修改容器配置。

部署

Shipyard是一款開源的圖形化的Docker管理工具,現在官方有了自動安裝腳本,使用非常方便。

服務器端

curl -s https://shipyard-project.com/deploy | bash -s

Shipyard 啓用了7個容器,默認訪問端口是8080,默認用戶名和密碼是admin 和 shipyard

節點

加入服務器

curl -sSL https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://服務器端地址:4001 bash -s

退出服務器

curl -sSL https://shipyard-project.com/deploy | ACTION=remove bash -s

瞭解Shipyard

幾個概念

engine

一個shipyard管理的docker集羣可以包含一個或多個engine(引擎),一個engine就是監聽tcp端口的docker daemon。

shipyard管理docker daemon、images、containers完全基於Docker API,不需要做其他的修改。

另外,shipyard可以對每個engine做資源限制,包括CPU和內存;

因爲TCP監聽相比Unix socket方式會有一定的安全隱患,所以shipyard還支持通過SSL證書與docker後臺進程安全通信。

rethinkdb

RethinkDB是一個shipyard項目的一個docker鏡像,用來存放賬號(account)、引擎(engine)、服務密鑰(service key)、
擴展元數據(extension metadata)等信息,但不會存儲任何有關容器或鏡像的內容。

Shipyard組件

shipyard是由shipyard控制器以及周圍生態系統構成,以下按照deploy啓動順序進行介紹(下面幾個就是shipyard使用腳本安裝後,啓動的幾個容器名)

RethinkDB

deploy首先啓動的就是RethinkDB容器,shipyard採用RethinkDB作爲數據庫來保存用戶等信息

Discovery

爲了使用Swarm,我們需要一個外部的密鑰值存儲羣容器,shipyard默認是採用了etcd。

shipyard_certs

證書管理容器,實現證書驗證功能

Proxy

默認情況下,Docker引擎只監聽Socket,我們可以重新配置引擎使用TLS或者使用一個代理容器,轉發請求從TCP到Docker監聽的UNIX Socket。

Swarm Manager

Swarm管理器

Swarm Agent

Swarm代理,運行在每個節點上。

Controller

shipyard控制器,Remote API的實現和web的實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章