分享安利 | 安利一款云容器管理工具portainer……
前言
现如今,已经是万物上云的时代,除了我们经常听说的阿里云、腾讯云、华为云这些云供应商提供的云容器外,好多稍微有点规模的公司都搭建了自己的云环境,甚至连好多爱折腾的小伙伴在自己家里也搞上云环境,当然这些都说明和传统的部署环境相比,云环境更方便更友好,而用起来方便,更简单:一行命令安装mysql
、redis
、zookeeper
等,可以说基本上没有云环境搞定不了的事。
但是随着云环境规模的不断扩大,容器越来越多,应用越来越多,这时候管理起来很不方便,而且好多小伙伴也不喜欢命令行的方式,有没有一款对用户友好,而且功能强大的管理工具?而且还要灵活方便,兼容性好、支持云环境?
今天,我们安利的这一款工具——portainer
,刚好满足你上面说的这些需求,接下来我们就来揭开它什么的面纱吧!
portainer简介安装
portainer是什么
Portainer
是一个通用的可视化容器管理工具。它可以与Kubernetes
、Docker
、Docker Swarm
和Azure ACI
完美融合。通过Portainer
你可以可以轻松构建、管理和维护各类云环境。而且它完全免费,又是基于容器化的安装方式,方便高效部署。
portainer安装
这里我们安装的是社区版(CE
),社区版功能就够用了,企业版会提供一些增值服务,当然也是收费的,官网有社区版和商业版的对比,有兴趣的小伙伴自己去了解:
https://www.portainer.io/products?hsCtaTracking=2a4560b0-6aef-49da-834f-ccbeb2083b59%7C4f0a8a27-01b4-4a5d-89a7-95434396f367
本来打算给大家看下官网的文档,结果官方文档访问不到:
点击install CE
直接无法访问,不知道是被墙了,还是我网络的问题(难道移动宽带不让访问)
手动安装
既然官方文档看不了,那我们就手动安装吧。这里我们只演示docker
环境的安装,其他环境我这里也没得。开始之前,你先要启动docker
环境,这里吐槽下,win10
环境的docker
特别吃内存,还是linux
更好,更原生一点。
搜索资源
一般在拉取资源前,我先会搜一下这个资源,然后选择start
比较多的
docker search portainer-ce
拉取镜像资源
第一个资源虽然星多,但是描述里面说仓库已经弃用了,过期了,所以就不考虑它了,另外我们前面也说了要拉portainer-ce
,所以这里选择第二个资源
docker pull portainer/portainer-ce
由于我之前已经拉取资源了,所以显示会和你不一样。需要注意的是,如果你拉取资源特别慢,建议你修改下镜像地址,具体方法参考前面安装docker
的内容:这样搭建本地开发测试环境,写代码美滋滋……
创建卷文件
volumes
是Docker
管理宿主机文件系统的一部分,默认位于 /var/lib/docker/volumes
目录中。当然你也可以不创建卷文件,不创建的话,每次运行数据都会被清空
docker volume create portainer_data
启动
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
启动成功会返回当前容器的id
测试
启动成功后,访问如下地址:
http://localhost:9000/
这里的端就是你上面-p
配置的端口,前一个端口是你本地端口,后一个是docker
容器中的端口。如果可以正常访问,说明启动是ok
的。
portainer配置
修改密码
第一次访问,会提示你修改admin
的密码:
密码长度必须大于等于8
,然后点击create user
在实际测试的时候,我发现创建用户的时候会报错,我以为是,没有创建卷文件:
直到看到docker
控制台的错误提示才明白,并不是:
根据控制台提示信息,如果启动后5
分钟内不创建管理账户,出于安全考虑,会自动关闭portainer
配置要管理的容器
再次启动portainer
,重新创建管理账户就好了,然后会让你选择你的云容器环境:
默认选中的是k8s
,我们这里是docker
,所以选择第一个:
但是我在进行下一步的时候,没有创建volume
的报应来了(这一次应该是这个问题了):
我刚才没创建volume
,好像还少了其他参数:
docker run -d -p 8001:8000 -p 9001:9000 --name=portainer-test portainer/portainer-ce
先把-v /var/run/docker.sock:/var/run/docker.sock
加上重新启动下看看(要删除容器,重新启动):
docker run -d -p 8001:8000 -p 9001:9000 -v /var/run/docker.sock:/var/run/docker.sock --name=portainer-test portainer/portainer-ce
然后重新配置,点击connect
,竟然成功了,说明vulume
文件应该就只是持久化运行数据的,不影响启动运行。
这时候就已经进入了portainer
的首页了,左侧是菜单栏,右侧是容器列表,目前它只显示当前运行的容器,你也可以添加其他的容器。
常用菜单
下面我们简单看下常用的菜单选项
Dashboard
仪表盘,显示容器的预览信息,包括镜像数量、容器数量、卷文件数量、网络配置、栈文件等
Containers
容器管理,这个菜单是我们最常用的菜单之一,可以对我们已经创建的容器进行管理,包括启动、停止、删除、查看配置信息(端口、容器、创建时间)、查看日志等。
新增容器
这里需要说下新增容器,新增容器点开之后是这样的:
以redis
为例创建一个容器
基本参数配置
第一部分包括指定容器名称,选择镜像,设置端口信息,访问控制设置等
其他属性设置
说实话,好到高级配置,我也没搞清楚
发布容器
点击Deploy the container
发布,这个按钮太小了,有点不好找,在Actions
下面。不过,不得不说,这个管理工具创建启动容器的时候确实太慢了,和命令行方式简直没法比,但是好在不用写命令,界面操作,对不了解docker
的小伙伴比较友好。
核心菜单
右侧最上面的一排按钮,就是对容器进行管理的,启动、停止、强制关闭、重启、暂停、恢复(对于暂停的容器)、删除等操作都需要选中对应的容器进行操作。
查看日志点击qucik actions
下面的第一个小图标就可以了,容器的资源使用情况点击第三个,控制台点击第四个
日志
日志是实时滚动的,可以设置日志的滚动大小,默认100
行,也就是显示最新的100
行日志,支持将日志下载到本地(下载的大小就是你设置的大小),不想滚动,可以点击auto-refresh logs
进行关闭。
日志支持检索,如果你把你的项目(比如springboot
)部署到容器中,你就可以直接在这里看日志了
资源信息
展示容器的内存、cpu
、网络等信息,这里可以指定刷新时间,默认是5s
控制台
可以直接通过这里进入容器内
当然对于没有控制台的容器,该选项点了也没反应,会显示闪退的情况,比如portainer
自己的容器就是这样
Images
这里是管理当前云容器的镜像,包括拉取镜像、删除、导入、导出以及构建新镜像
其他菜单暂时就不研究了,要么是太简单了,大家看一下就知道咋用,要么就过于复杂,我也没研究透,不过上面这几个已经够日常使用了,大部分的场景都是围绕这这几个菜单展开的。
后面,等我搞清楚了docker
部署springboot
项目,我会再分享相关内容,今天就先到这里吧。
总结
portainer
作为一款云环境管理工具,从整体体验来看,还是比较优秀的,操作比较友好,功能也比较齐全,而且很容易上手,目前我觉得唯一的缺点就是构建容器的时候有点慢。
当然,就云容器而言,我接触的时间还比较短,而且目前我只用过docker
,所以知识盲区比较大,可能说的好多点也不是很专业,但单从portainer
流行情况来看,也能说明他很优秀,一个是技术圈推荐的人很多,一个是很多优秀的互联网公司都在用,比如我们公司,这就够说明问题。总之,就是一句话,你该学习了,要紧跟技术的方向,不断武装自己