摘要:是建立在集群管理工具之上的可以管理容器主機等資源的圖形化工具。管理完全基于,不需要做其他的修改。搭建過程修改監聽要管理和控制的話需要先修改上的默認配置使其監聽端口可以繼續保持。
Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主機等資源的web圖形化工具。包括core和extension兩個版本,core即shipyard主要是把多個 Docker host上的 containers 統一管理(支持跨越多個host),extension即shipyard-extensions添加了應用路由和負載均衡、集中化日志、部署等。
1. 幾個概念 engine一個shipyard管理的docker集群可以包含一個或多個engine(引擎),一個engine就是監聽tcp端口的docker daemon。shipyard管理docker daemon、images、containers完全基于Docker API,不需要做其他的修改。另外,shipyard可以對每個engine做資源限制,包括CPU和內存;因為TCP監聽相比Unix socket方式會有一定的安全隱患,所以shipyard還支持通過SSL證書與docker后臺進程安全通信。
rethinkdbRethinkDB是一個shipyard項目的一個docker鏡像,用來存放賬號(account)、引擎(engine)、服務密鑰(service key)、擴展元數據(extension metadata)等信息,但不會存儲任何有關容器或鏡像的內容。一般會啟動一個shipyard/rethinkdb容器shipyard-rethinkdb-data來使用它的/data作為數據卷供另外rethinkdb一個掛載,專門用于數據存儲。
2. 搭建過程 修改tcp監聽Shipyard 要管理和控制 Docker host 的話需要先修改 Docker host 上的默認配置使其監聽tcp端口(可以繼續保持Unix socket)。有以下2種方式
sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d 啟動docker daemon。如果為了避免每次啟動都寫這么長的命令,可以直接在/etc/init/docker.conf中修改。
修改/etc/default/docker的DOCKER_OPTS
DOCKER_OPTS="-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock"。這種方式在我docker version 1.4.1 in ubuntu 14.04上并沒有生效。
重啟服務 $ sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d 驗證 $ netstat -ant |grep 4243 tcp6 0 0 :::4243 :::* LISTEN啟動rethinkdb
shipyard(基于Python/Django)在v1版本時安裝過程比較復雜,既可以通過在host上安裝,也可以部署shipyard鏡像(包括shipyard-agent、shipyard-deploy等組件)。v2版本簡化了安裝過程,啟動兩個鏡像就完成:
獲取一個/data的數據卷 $sudo docker run -it -d --name shipyard-rethinkdb-data --entrypoint /bin/bash shipyard/rethinkdb -l 使用數據卷/data啟動RethinkDB docker run -it -P -d --name shipyard-rethinkdb --volumes-from shipyard-rethinkdb-data shipyard/rethinkdb部署shipyard鏡像
啟動shipyard控制器:
sudo docker run -it -p 8080:8080 -d --name shipyard --link shipyard-rethinkdb:rethinkdb shipyard/shipyard
至此已經可以通過瀏覽器訪問http://host:8080來訪問shipyard UI界面了。
第一次run后,關閉再次啟動時直接使用:
sudo docker stop shipyard shipyard-rethinkdb shipyard-rethinkdb-data sudo docker start shipyard-rethinkdb-data shipyard-rethinkdb shipyard圖示
登錄:
默認用戶名/密碼為 admin/shipyard
主界面:
Dashboard展示在添加engine時指定的CPU以及內存的使用情況。
容器:
shipyard管理的所有docker主機的所有容器,包括stop和running狀態的。可以直接點擊DEPLOY按鈕來從鏡像運行出其他容器,與docker run的選項幾乎相同,可以限制CPU和內存的使用,詳見shipyard的containers文檔。
容器操作:
可以stop、start、restart容器,通過LOGS可以看到容器日志輸出,SCALE可以批量(規模化)部署該容器,這個操作與容器的Type屬性息息相關。因為shipyard可以管理多個host的docker容器,所以啟動一個容器的type可以是:service——可以在具有相同label的engine上運行;unique——一個host上只允許某個鏡像的一個實例運行;host——在指定的host上運行容器,啟動的時候通過--label host:
engine管理:
一個engine就是一個docker daemon,docker daemon下啟動著多個containers,可以對engine限制一個整體的CPU和內存限制,shipyard通過TCP端口連接daemon。需要注意的是docker client與server的版本問題:(因為shipyard目前還在快速的完善過程,不同版本的docker應該是向下兼容的)
curl -X GET http://172.29.88.223:4243/v1.15/containers/json client and server don"t have same version (client : 1.15, server: 1.13)3. shipyard-cli
目前圖形化界面能做的操作其實很少,正在強大的是通過shipyard提供的命令行窗口(稱作Shipyard CLI)進行管理,參考http://shipyard-project.com/docs/usage/cli/
啟動命令行交互模式:
sudo docker run --rm -it shipyard/shipyard-cli
使用它甚至可以替代docker客戶端。
sean@seanubt:~$ sudo docker run -it shipyard/shipyard-cli shipyard cli> shipyard help NAME: shipyard - manage a shipyard cluster USAGE: shipyard [global options] command [command options] [arguments...] VERSION: 2.0.8 COMMANDS: login login to a shipyard cluster change-password update your password accounts show accounts add-account add account delete-account delete account containers list containers inspect inspect container run run a container stop stop a container restart restart a container scale scale a container logs show container logs destroy destroy a container engines list engines add-engine add shipyard engine remove-engine removes an engine inspect-engine inspect an engine service-keys list service keys add-service-key adds a service key remove-service-key removes a service key extensions show extensions add-extension add extension remove-extension remove an extension webhook-keys list webhook keys add-webhook-key adds a webhook key remove-webhook-key removes a webhook key info show cluster info events show cluster events help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --help, -h show help --generate-bash-completion --version, -v print the version 登錄shipyard shipyard cli> shipyard login URL: http://172.29.88.205:8080 Username: admin Password: 查看containers shipyard cli> shipyard containers 啟動一個容器 shipyard cli> shipyard run --name nginx:1.7.6 --container-name web_test --cpus 0.2 --memory 64 --type service --hostname nginx-test --domain example.com --link redis:db --port tcp/172.29.88.205:81:8081 --port tcp/::8000 --restart "on-failure:5" --env FOO=bar --label dev 查看容器日志(只能接容器ID,暫不能使用容器名) shipyard cli> shipyard logs ff2761d 關閉并移除容器 shipyard cli> shipyard destroy
不一一列舉。。。
原文鏈接地址:http://seanlook.com/2014/12/29/docker-shipyard-centralized-management-webui/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26368.html
摘要:相關基于項目和項目,并遵循應用的十二因素風格。相關在設計上,項目盡量保持驅動和模塊化,以便模塊支持不同的實現方案。相關不僅可以管理眾多虛擬機,其計算服務還支持對的驅動,管理引擎的子項目還可用于通過模板管理容器。現已整合公司所支持的項目。 整理自《Docker技術入門與實踐》 PaaS(Platform as a Service) PaaS 是希望提供一個統一的可供所有軟件直接運行而無需...
摘要:之安裝指南一前言最近在研究的容器管理平臺,在研究過程發現自己對基礎理解還存在一定的欠缺,為了更好的理解,將我對項目的理解共享給愛好者,也系統的形成一份研發日志。啟動界面容器詳細情況鏡像節點 Docker之shipyard安裝指南 一、前言:最近在研究shipyard的docker容器管理平臺,在研究過程發現自己對docker基礎理解還存在一定的欠缺,為了更好的理解docker,將我對s...
摘要:中文版正式發布一是什么是一個開源的管理平臺,其特性主要包括支持節點動態集群,可擴展節點的規模方案支持鏡像管理容器管理節點管理等功能可視化的容器管理和監控管理在線容器終端二中文版源代碼托管在,有興趣可以訪問獲取代碼。 shipyard中文版正式發布 一、 Docker Shipyard是什么 ?shipyard是一個開源的docker管理平臺,其特性主要包括: 支持節點動態集群,可擴...
閱讀 3475·2021-09-22 15:02
閱讀 3522·2021-09-02 15:21
閱讀 2139·2019-08-30 15:55
閱讀 2786·2019-08-30 15:44
閱讀 785·2019-08-29 16:56
閱讀 2419·2019-08-23 18:22
閱讀 3347·2019-08-23 12:20
閱讀 3095·2019-08-23 11:28