疯狂的企鹅

Crazy.Rico's Blog


  • 首页

  • 归档

  • 关于

  • 标签

  • 分类

  • links

  • 搜索

Docker之旅-Docker图形化管理和监控(二)

发表于 2018-12-20 更新于 2019-10-16 分类于 微服务 , docker 阅读次数:
本文字数: 3.8k 阅读时长 ≈ 3 分钟

DockerUI

DockerUI是一个开源的基于Docker API的web应用程序,提供等同Docker命令行的大部分功能,支持container管理,image管理, networks 管理。它最值得称道的是它华丽的设计和用来运行和管理docker的简洁的操作界面。
获取
首先拉去dockerUI镜像,现在dockerUI镜像

1
$ docker pull uifd/ui-for-docker

查看本地镜像

1
2
3
4
5
6
7
8
9
10
11
12
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hellowpy latest d1a8a6e4b2c4 28 hours ago 131MB
yaonew/hellowpy v1 d1a8a6e4b2c4 28 hours ago 131MB
redis latest ce25c7293564 12 days ago 95MB
nginx latest 568c4670fa80 4 weeks ago 109MB
python 2.7-slim 0dc3d8d47241 5 weeks ago 120MB
docker-compose_demo latest 985f3637ded4 8 weeks ago 635MB
maven 3.5-jdk-8 985f3637ded4 8 weeks ago 635MB
mysql/mysql-server 5.7 76ac6291d3cf 2 months ago 234MB
hello-world latest 4ab4c602aa5e 3 months ago 1.84kB
uifd/ui-for-docker latest 965940f98fa5 2 years ago 8.1MB

启动容器

1
$ docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker

接着就可以在浏览器访问DockerUI管理界面了。启动了 DockerUI容器之后,就可以用它来执行启动、暂停、终止、删除以及DockerUI提供的其它操作Docker容器的命令。在浏览器里面输入 http://ip-address:9000,默认情况下登录不需要认证,但是可以配置我们的 web 服务器来要求登录认证



DockerUI优点:
1)支持container批量操作;
2)支持image管理(虽然比较薄弱)

DockerUI缺点:
不支持多主机。

Shipyard入门

比较遗憾目前Shipyard作者已停止维护,不过目前我们还是可以使用
是一个集成管理docker容器、镜像、Registries的系统,它可以简化对横跨多个主机的Docker容器集群进行管理. 通过Web用户界面,你可以大致浏览相关信息,比如你的容器在使用多少处理器和内存资源、在运行哪些容器,还可以检查所有集群上的事件日志。
其特性主要包括:
1)支持节点动态集群,可扩展节点的规模(swarm、etcd方案)
2)支持镜像管理、容器管理、节点管理等功能
3)可视化的容器管理和监控管理
4)在线容console终端

安装主节点(管理端)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ curl -s https://raw.githubusercontent.com/shipyard/shipyard-project.com/master/site/themes/shipyard/static/deploy | bash -s
Deploying Shipyard
-> Starting Database
-> Starting Discovery
-> Starting Cert Volume
-> Starting Proxy
-> Starting Swarm Manager
-> Starting Swarm Agent
-> Starting Controller
......
Digest: sha256:5f065362680fa4565dd150c8da3edd09b79a7a3010d3ceef20093c2a879187e0
Status: Downloaded newer image for shipyard/shipyard:latest
Waiting for Shipyard on 192.168.48.244:8080

Shipyard available at http://192.168.48.244:8080
Username: admin Password: shipyard

登陆拉取镜像,容器启动完成。

登陆

通过默认用户密码登陆系统

容器管理

从容器列表看shipyard还是能支持swarm的

容器的部署,填空题好费劲

容器详情

镜像管理

安裝节点

在节点主机上执行如下命令,添加

1
$ curl -sSL https://raw.githubusercontent.com/shipyard/shipyard-project.com/master/site/themes/shipyard/static/deploy | ACTION=node DISCOVERY=etcd://192.168.48.244:4001 bash -s

执行完如上命令,我在shipyard图形化管理->节点管理中 并未显示添加的节点,不知道什么原因。

总结

通过如上的使用测试,所以还凑合用吧,作者有心无力已停更,所以这个虽然能用,但是如果Docker后续更新了啥这个可能就没法支持了。

shipyard-deploy

cAdvisor入门

cAdvisor 是 google 开发的容器监控工具,我们来看看 cAdvisor 功能。

运行 cAdvisor 容器

1
2
3
4
5
6
7
8
9
$ docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest

cAdvisor 会显示当前 host 的资源使用情况,包括 CPU、内存、网络、文件系统等。
打开速度有点慢

点击docker Containers查看运行中的容器列表


点击容器连接,可以对当前容器详情进行监控


cAdvisor 提供的操作界面略显简陋,而且需要在不同页面之间跳转,打开页面速度稍慢,并且只能监控一个 host,它的一大亮点是它可以将监控到的数据导出给第三方工具如Prometheus,后续继续研究。

Portainer

Portainer是一个开源、轻量级Docker管理用户界面,基于Docker API,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型企业对容器管理的全部需求。

单机管理

1
2
$ docker volume create portainer_data
$ docker run -d -p 9000:9000 --name portainer-test -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

执行完成浏览器访问,第一次访问设置管理员密码并登陆

选择本地local

确定登陆系统后可以对本地主机上的docker容器、镜像、网络进行管理

本地主机docker维护

集群管理

基于之前我们创建的swarm集群,我们可以很方便的将Portainer指挥艇部署在swarm集群上,并对集群进行管理,为避免之前单机测试挂载目录对下面示例的影响(导致新建的portainer无法登陆),我们先删除上面创建的挂载

1
$ docker volume rm portainer_data

通过stack创建服务,下载官方yaml文件,并执行

1
2
$ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
$ docker stack deploy --compose-file=portainer-agent-stack.yml portainer

浏览器访问宿主机,如上第一次设置管理员密码并登陆

对swarm集群主机stack,service,containers进行管理


swarm详情

以上实例以ubuntu18.04主机为例测试,window等其他平台安装使用参见官网文档
官方演示网址:http://demo.portainer.io 账号admin 密码 tryportainer

GitHub源码

参考文章

https://www.portainer.io/
http://dockone.io/article/1686
https://portainer.readthedocs.io/
https://www.fengerzh.com/portainer/

-------------本文结束感谢您的阅读-------------
Crazy Rico wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
Crazy Rico 微信支付

微信支付

Crazy Rico 支付宝

支付宝

# 微服务 # docker # DockerUI # Shipyard # cAdvisor # Portainer
Docker之旅-Docker图形化管理和监控(一)
2018年度账单
  • 文章目录
  • 站点概览
Crazy Rico

Crazy Rico

33 日志
17 分类
39 标签
RSS
GitHub FCC E-Mail 慕课网 阿里云
  1. 1. DockerUI
  2. 2. Shipyard入门
    1. 2.1. 安装主节点(管理端)
    2. 2.2. 登陆
    3. 2.3. 容器管理
    4. 2.4. 容器详情
    5. 2.5. 镜像管理
    6. 2.6. 安裝节点
    7. 2.7. 总结
  3. 3. cAdvisor入门
  4. 4. Portainer
    1. 4.1. 单机管理
    2. 4.2. 集群管理
  5. 5. 参考文章
苏ICP备17004952号 © 2020 Crazy Rico | 90k | 1:22
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Gemini v7.3.0
|
0%