Docker可视化工具--portainer和lazydocker
https://www.portainer.io/installation/
docker pull portainer/portainer
docker volume create portainer_data
docker run --name portainer -d -p 8000:8000 -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
http://192.168.1.35:9000
docker pull lazyteam/lazydocker
docker run --rm -it -v \/var/run/docker.sock:/var/run/docker.sock \-v ~/.config/lazydocker:/.config/jesseduffield/lazydocker lazyteam/lazydocker
alias lzd='docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v ~/.config/lazydocker:/.config/jesseduffield/lazydocker lazyteam/lazydocker'
Docker是一项非常流行的容器技术,现在在各行各业有着广泛的使用。不过如何管理Docker容器是一个问题,所以我今天向大家介绍两款Docker可视化工具,希望对大家有所帮助。
Portainer
Portainer是一款Docker可视化管理工具,允许我们在网页中方便的查看和管理Docker容器。

要使用Portainer很简单,运行下面两条命令即可。这些命令会创建一个Portainer专用的卷,然后在8000和9000端口创建容器并运行。
$ docker volume create portainer_data$ docker run --name portainer -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
然后在浏览器打开对应地址,就会发现成功运行了。第一次运行的时候需要设置账号,然后选择要管理的Docker主机。

设置账号

选择要管理的主机
之后就可以看到本机上运行的Docker容器了,点击它们还可以进行容器的管理。左边的条目可以管理卷、创建容器、查看主机信息等等。基本上该有的功能都有了,这也是我推荐的一个工具。

LazyDocker
LazyDocker是基于终端的一个可视化查询工具,支持键盘操作和鼠标点击。相比Portainer来说可能不那么专业,不过对于开发者来说可能反而更加好用了。因为一般开发者都是使用命令行来运行Docker,偶尔需要图形化查看的时候,就可以使用LazyDocker这个工具。

官网演示图
安装LazyDocker也非常简单,运行下面的命令即可。
docker run --rm -it -v \/var/run/docker.sock:/var/run/docker.sock \-v ~/.config/lazydocker:/.config/jesseduffield/lazydocker \lazyteam/lazydocker
当然如果发现LazyDocker挺好用,准备经常使用的话,还可以把它做成缩写添加到shell配置文件中,这样就可以将它变成一个简单的命令。例如我用的是zsh,就将下面这样添加到.zshrc文件中。以后就可以直接用lzd来调用LazyDocker了。
alias lzd='docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v ~/.config/lazydocker:/.config/jesseduffield/lazydocker lazyteam/lazydocker'
然后就可以在终端中查看Docker容器、镜像和卷的信息了。LazyDocker支持键盘操作和鼠标点击,直接用鼠标点击就可以查看对应信息了。

需要注意如果你的终端LazyDocker的图形显示的是乱的,不用担心,只不过是显示字体的问题。重新设置一下终端字体就可以解决了。

1.介绍
Docker 图形化管理提供了很多工具,有Portainer、Docker UI、Shipyard等等,本文主要介绍Portainer。
Portainer是一个开源、轻量级Docker管理用户界面,基于Docker API,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。
2.创建容器
2.1下载官方镜像
[root@ linuxidc /]# docker pull portainer/portainer
Using default tag: latest
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete
ba5495c717cb: Pull complete
Digest: sha256:8146a5aae1135a0ccee424488c6867b438be21d1e915903a858d12e8382b817b
Status: Downloaded newer image for portainer/portainer:latest
2.2单机运行
如果仅有一个docker宿主机,则可使用单机版运行,Portainer单机版运行十分简单,只需要一条语句即可启动容器,来管理该机器上的docker镜像、容器等数据。
创建数据卷:
[root@linuxidc ~]# docker volume create portainer_data
portainer_data
运行容器:
[root@linuxidc ~]# docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
439cc8a6d44a84f5967534c50d3accc43fbeb578258a52c2683afeb230dd6e04
参数说明:
-d:容器在后台运行;
-p 9000:9000 :宿主机9000端口映射容器中的9000端口
-v /var/run/docker.sock:/var/run/docker.sock :把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中;
-v portainer_data:/data :把宿主机portainer_data数据卷挂载到容器/data目录;
查看容器进程:
[root@linuxidc ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
439cc8a6d44a portainer/portainer "/portainer" 13 seconds ago Up 13 seconds 0.0.0.0:9000->9000/tcp amazing_clarke
访问服务:
- 访问方式:http://IP:9000 ,首次登录需要注册用户,给用户admin设置密码,如下图:

注意:从上图可以看出,有提示需要挂载本地 /var/run/docker.socker与容器内的/var/run/docker.socker连接。因此,在启动时必须指定该挂载文件。
- 进入后可以对容器、镜像、网络、数据卷等进行管理,如下图:

2.3集群运行
更多的情况下,我们会有一个docker集群,可能有几台机器,也可能有几十台机器,因此,进行集群管理就十分重要了,Portainer也支持集群管理,Portainer可以和Swarm一起来进行集群管理操作。首先要搭建了一个Swarm,本文不着重介绍swarm集群的安装。
portainer集群启动:
$ docker service create \
--name portainer \
--publish 9000:9000 \
--replicas=1 \
--constraint 'node.role == manager' \
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
--mount type=bind,src=//opt/portainer,dst=/data \
portainer/portainer \
-H unix:///var/run/docker.sock


- Portainer的基本操作就这么多,具体的操作步骤还需要大家自己去学习理解。
3.参考链接
官方网站:https://portainer.io/
官方文档:https://portainer.readthedocs.io/
演示网址:http://demo.portainer.io 账号admin 密码 tryportainer
背景
5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器。
是时候推荐一个轮子Portainer.io:
提供GUI界面的容器管理工具,给开发者的工具箱又增加了一个炫酷又实用的瑞士军 刀。
Portainer.io的优势
- 轻量级 (2,3个命令就可启动,镜像少于30M)
- 健壮、 友好
- 可以用于Docker监控和构建
- 提供Docker环境的详细信息
- 可在界面管理 Container、Image、Network、Volume、Config
Portainer.io特性
- 漂亮的Dashboard,很容器操作和监视
- 许多内置的操作模板
- 尽乎实时的 监视Container、Image...
- 支持Docker-Swarm 集群监视
安装Portaniner.io
为Porttainer.io 创建Volume
sudo docker volume create portainer_data
启动portainer容器,配置在宿主机9000端口映射
sudo docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainerUnable to find image 'portainer/portainer:latest' locallylatest: Pulling from portainer/portainerd1e017099d17: Pull completef4f2fd75fb8a: Pull completeDigest: sha256:026381c60682b82a863f0c3737a9b4a414beaddd4cf050477a7749ff5ac61189Status: Downloaded newer image for portainer/portainer:latest82756791026adda45c288ca465ef38ca2e2aefaad2b27da6ae3831a517db4ad8
“
请确保OS防火墙允许9000端口访问
睁眼看Portainer.io
-
首次访问请注册用户

-
我是在Docker宿主机上安装的portainer.io,故我选择Local

-
概览如下:

-
点击任意一个红框对象,进入‘Dashboard Endpoint summary’

简单的Docker监控
- 在Container标签页使用container命令操作测试容器:

“
这个页面会显示所有的容器,包括Stopped,可使用docker system prune -a:Remove all unused images not just dangling ones
点击每个容器,可进入查看容器的详细信息: Container status/Container health/Container details/Connected networks/Volumes
-
Image标签页,这里显示所有Image,这类可以拉取、构建、导入导出镜像

-
根据模板快速创建服务堆栈 点击‘'App Template’, 进入容器构建页面。 选择WordPress模板
操作之后,可生成新的服务堆栈:

“
是不是很6,这个服务堆栈已经使用WordPress模板预置,配置详情查看Update页面设定的远程docker-stack.yml地址: https://github.com/portainer/templates/blob/master/stacks/wordpress/docker-stack.yml
version: '3'services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: ${MYSQL_DATABASE_PASSWORD} MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: image: wordpress:latest ports: - 80 restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpressvolumes: db_data:
其他Stack、Service、Network、Volume、Config请自行倒腾, 外围配置Extension,Registries 可配置安全特性和 镜像注册中心。
About Me
 |
 |