docker-web 图形化界面

2018年7月4日 0 条评论 18 次阅读 0 人点赞

图形化管理Docker

在了解了基础的docker命令之后,人们除了向容器的编排方向发展,又着手去将原来的docker简单化可视化,所以接下来就介绍几款有关于docker容器的web管理软件

  • abh1nav
  • Portainer
  • shipyard

abh1nav

DockerUI是一个与Remote API交互的Web界面。我们的目标是提供一个纯粹的客户端实现,因此连接和管理docker是毫不费力的。该项目尚未完成,目前仍处于重大发展阶段。

拉取镜像

docker pull abh1nav/dockerui:latest

运行容器

docker run -d -p 9000:9000 -v /var/run/docker.sock:/docker.sock --name dockerui abh1nav/dockerui:latest -e="/docker.sock"

CentosCopy

访问WEB

http://ip:9000

仪表盘

总结

只能简单对的docker进行图形化的Web展示但是,也很难独当一面,娱乐的时候可以安装使用一下

Portainer

Portainer是一个轻量级管理用户界面,可让您轻松管理不同的Docker环境(Docker主机或Swarm集群)。
Portainer的使用意图与部署一样简单。它包含一个可以在任何Docker引擎上运行的容器(可以作为Linux容器或Windows本机容器部署)。
Portainer允许您管理Docker容器,图像,卷,网络等等!它与独立的Docker引擎和 Docker Swarm模式兼容。

  • Docker 1.10到最新版本
  • 单机多克群> = 1.2.3 (注:。使用独立的码头工人群的自推出内置群模式泊坞窗而旧版本Portainer的有进行单机多克群的支持,Portainer 1.17.0和新的被鼓励做不支持它,但是完全支持内置的Docker Swarm模式。)
  • swarm集群部署文档 https://portainer.readthedocs.io/en/latest/deployment.html

特点

  • 可视化容器监控,可选择时间,放大两倍垂直信息
  • 实时监视容器的日志信息
  • 可执行远程命令
  • 可控制容器的最大资源调用情况

拉取镜像

docker pull docker.io/portainer/portainer

开放Docker网络管理端口

vim /etc/sysconfig/docker
    OPTIONS='-Htcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'

运行服务

docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

单机确保使用以下Docker标志启动Portainer容器:

-v "/var/run/docker.sock:/var/run/docker.sock"

访问页面

设置界面

仪表盘

容器的状态监控

Shipyard

shipyard也是基于docker API实现的容器图形管理系统,支持Container、images、engine、cluster等功能,可以满足一般永和的部署需求

镜像名称运行服务描述
rethinkdbshipyard数据库一个Nosql数据库,用于存储shipyard系统的数据,比如账号、节点、容器等信息
microbox/etcd服务注册、发现系统K/V存储系统,用于Swarm节点实现服务注册发现,也支持consul、zookepper
shipyard/docker-proxydocker-API连接本地/var/run/docker.sock代理,用于让Swarm Agent连接API进行管理
SWARMswarm集群官方管理Docker集群工具,使用多个engine为一个整体管理,对外提供swarm manager API,用户就像操作单台Enginer一样
shipyard/shipyardshipyard前端容器web管理系统,内部连接Swarm Manager管理容器和RethinkDB存储数据

1.部署Datastore

数据的存储

docker run -it -d --restart=always --name shipyard-rethinkdb rethinkdb

2.部署Discovery

用启用集群领导选举,必须从集群容器中使用外部的键值存储,我们可以使用集群支持的任何密匙/值后端

docker run -itd -p 4001:4001 -p 7001:7001 --restart=always --name shipyard-discovery microbox/etcd --name discovery

3.部署proxy

默认情况下,Docker引擎只监听套接字,我们可以重新配置引擎盖使用TLS,也可以使用代理去容器,这是一个非常轻量级的容器,它只是将请求从TCP转发到Docker监听的Unix套接字

docker run -itd -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

4.部署Swarm Manager

集群的节点管理

docker run -itd --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 etcd://你的IP:4001

5.部署Swarm Agent

集群的代理节点

docker run -itd --restart=always --name shipyard-swarm-agent swarm:latest join --addr 本地IP:2375 etcd://本地docker-api的IP:4001

6.部署前端网页

docker run -itd --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

7.访问WEB界面

在部署前端中定义什么端口就用什么端口去访问

  • 可以对指定容器进行相应的操作(暂停、停止、重启、销毁、开启、改名字、弹性伸缩、查看状态等等),而且能进入容器的控制台(这个功能不错)。还有可以对删除已有镜像,也可以pull镜像到本地

Einic Yeo

Per Aspera Ad Astra

文章评论(0)

*

code