Docker可视化工具--portainer和lazydocker

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设置密码,如下图:

Docker轻量级图形页面管理Portainer安装配置

  • 单机版本选择“Local",点击Connect即可连接到本地docker,如下图:

Docker轻量级图形页面管理Portainer安装配置
注意:从上图可以看出,有提示需要挂载本地 /var/run/docker.socker与容器内的/var/run/docker.socker连接。因此,在启动时必须指定该挂载文件。

  • 进入后可以对容器、镜像、网络、数据卷等进行管理,如下图:

Docker轻量级图形页面管理Portainer安装配置

2.3集群运行

更多的情况下,我们会有一个docker集群,可能有几台机器,也可能有几十台机器,因此,进行集群管理就十分重要了,Portainer也支持集群管理,Portainer可以和Swarm一起来进行集群管理操作。首先要搭建了一个Swarm,本文不着重介绍swarm集群的安装。

portainer集群启动:

  • 启动集群参考官方文档:https://portainer.io/install.html

$ 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之后,首页还是给admin用户设置密码(这里和单机启动一样)。

Docker轻量级图形页面管理Portainer安装配置

  • 进入后,如下图所示会发现多了关于swarm的选项,其它配置和单机运行的portainer一样,都很简单:

Docker轻量级图形页面管理Portainer安装配置

  • Portainer的基本操作就这么多,具体的操作步骤还需要大家自己去学习理解。

3.参考链接

官方网站:https://portainer.io/ 
官方文档:https://portainer.readthedocs.io/ 
演示网址:http://demo.portainer.io 账号admin 密码 tryportainer


使用GUI工具Portainer.io管控Docker容器

背景

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

  1. 首次访问请注册用户 

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

  3. 概览如下: 

  4. 点击任意一个红框对象,进入‘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

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub、博客园、CSDN和个人微 信公众号( DB宝)上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文CSDN地址: https://blog.csdn.net/lihuarongaini

● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群号: 230161599 、618766405

● 微 信群:可加我微 信,我拉大家进群,非诚勿扰

● 联系我请加QQ好友 646634621 ,注明添加缘由

● 于 2020-05-01 06:00 ~ 2020-05-30 24:00 在西安完成

● 最新修改时间:2020-05-01 06:00 ~ 2020-05-30 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

小麦苗的微店https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麦苗出版的数据库类丛书http://blog.itpub.net/26736162/viewspace-2142121/

小麦苗OCP、OCM、高可用网络班http://blog.itpub.net/26736162/viewspace-2148098/

小麦苗腾讯课堂主页https://lhr.ke.qq.com/

........................................................................................................................

使用 微 信客户端扫描下面的二维码来关注小麦苗的微 信公众号( DB宝)及QQ群(DBA宝典)、添加小麦苗微 信, 学习最实用的数据库技术。

........................................................................................................................

欢迎与我联系

 

 



请使用浏览器的分享功能分享到微信等