『现学现忘』Docker基础 — 24、Docker图形化管理工具Portainer
1、Portainer介绍
(1)Portainer 是一款轻量级的图形化管理工具,通过它我们可以轻松管理不同的 Docker 环境。Portainer 部署和使用都非常的简单,它由一个可以运行在任何 Docker 引擎上的容器组成。
(2)Portainer 功能十分全面,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm 集群和服务等集中管理和操作、登录用户管理和控制等功能。基本能满足中小型单位对容器管理的全部需求。
简单来说,Portainer就是Docker的可视化工具,让我们可以用更直观的方式来管理和监控Docker里面的镜像和容器。
Portainer官网:https://www.portainer.io/
Portainer官网提供的安装文档:
2、Portainer安装启动
如果仅有一个Docker宿主机,则可使用单机版运行就可以,来管理该机器上的Docker镜像、容器等数据。
直接执行如下命令使用独立容器启动 Portainer工具。
步骤1:搜索Portainer镜像
执行命令:docker search Portainer

我们下载第一个镜像就可以。
步骤2:下载Portainer镜像到本地
执行命令:docker pull portainer/portainer
[root@192 ~]# docker pull portainer/portainer
Using default tag: latest
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete
717377b83d5c: Pull complete
Digest: sha256:f8c2b0a9ca640edf508a8a0830cf1963a1e0d2fd9936a64104b3f658e120b868
Status: Downloaded newer image for portainer/portainer:latest
docker.io/portainer/portainer:latest
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 9.0 040bdb29ab37 2 months ago 649MB
portainer/portainer latest 62771b0b9b09 7 months ago 79.1MB
步骤3:运行Portainer镜像
执行命令:
docker run -d -p 9000:9000 \
--name portainer \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/portainer_data:/data \
portainer/portainer
解释上面命令中的参数含义:
-d以后台方式运行容器;-p 9000:9000将宿主机端口映射到容器端口;--name portainer设置容器名称,若不指定则随机生成;--restart always容器退出时总是重新启动,若需退出手动运行docker stop portainer;-v /var/run/docker.sock:/var/run/docker.sock将宿主机docker.sock(Docker API)映射到容器;-v portainer_data:/data映射宿主机数据卷到容器/data目录;
使用docker volume create --name portainer_data命令,单独创建数据卷也行。
命令中还是使用-v portainer_data:/data。--privileged-true:(选用)
使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。portainer/portainer:Portainer的镜像名称。
完成后浏览器访问 http://服务器IP:9000/ 进行初始化配置。
注意:Portainer的数据存储在容器内部的 /data 目录,这样容器重启的时候数据会丢失,所以要确保数据持久化。
示例:

步骤4:外网主机访问Portainer容器
其实就是在本地电脑的浏览器访问虚拟机中Docker的Portainer容器。
即浏览器访问 http://服务器IP:9000/ 进行初始化配置。
如下图:

3、Portainer初始化配置
输入密码进入Portainer。

简单说明一下界面的内容:
Connect Portalner to the Docker environment you want to manage.
将Portalner连接到您要管理的Docker环境。
Local:Manage the local Docker environment
管理本地Docker环境。Remote:Manage a remote Docker environment
管理远程Docker环境(分布式)。Agent:Connect to a Portalner agent
连接到Portalner代理。Azure:Connect to Microsoft Azure ACI
连接到Microsoft Azure容器实例(ACI)。
Manage the Docker environment where Portalner Is running.
管理运行Portalner的Docker环境。
Ensure that you have started the Portainer contalner with the following Docker flag:
确保已使用以下Docker标志启动了Portainer contalner:
刚才在run这个镜像的时候添加了这些参数。选择Local,最后点击Connect进行连接。
如下图:

登录后我们可以查看服务上各个镜像、容器、网络、Volume等信息,并可以对它们进行管理。
关于具体的操作,我们自己点击试着用用就好了,也可以在网上查查,在实际的工作中用的不多,这里就不展开了。
说明:Portainer工具我们自己会简单的用用就可以了,在持续集成
CI/CD的时候,我们一般使用Rancher工具
4、Portainer汉化
(1)环境说明:
- 系统:CentOS 7.8.2003。
- Docker:20.10.5
(2)上传汉化文件到服务器:
将下载汉化包解压之后,并将解压后的public文件夹上传到centos系统的根目录下,如下图所示:
# 将汉化包public拷贝到/目录中
[root@192 /]# ll public/
总用量 8
drwxr-xr-x. 2 root root 30 3月 17 22:07 css
drwxr-xr-x. 2 root root 4096 3月 17 22:07 fonts
drwxr-xr-x. 2 root root 272 3月 17 22:07 ico
drwxr-xr-x. 2 root root 165 3月 17 22:07 images
-rw-r--r--. 1 root root 2810 3月 17 22:07 inde
提示:一定要放在根目录下,我放在其他地方不好使。
(3)启动Portainer:
就是在上面Portainer启动命令中加入如下选项:-v /public:/public
[root@192 /]# docker run -d -p 9000:9000 \
> --name portainer \
> --restart always \
> -v /var/run/docker.sock:/var/run/docker.sock \
> -v /tmp/portainer_data:/data \
> -v /public:/public \
> portainer/portainer
b991a3d4058f0abaea218c5b68f6e4987d69ce363c4942ee40e271dd5eb4ca50
[root@192 /]#
使用浏览器访问如下:


提示:如果已部署Portainer容器,需要将之前的容器删除,在重新启动。
『现学现忘』Docker基础 — 24、Docker图形化管理工具Portainer的更多相关文章
- docker图形化管理工具portainer
本章主要介绍docker的web图形化管理工具.这里使用 portainer(类似与dockui不过dockerui只支持单节点) 镜像名称 portainer/portainer 一.启动porta ...
- 有评论就是我最大的动力~MySQL基础篇完结(存储引擎和图形化管理工具)
hi 今天登上来,发现竟然有了3个评论~~加油吧! 这周的计划其实远远没有达到,然后下周还有一大堆事情...那么...周末好好玩吧~ 今天试图完结MySQL的基础篇知识,小白变为大白? 1.MySQL ...
- 『现学现忘』Git基础 — 24、Git中查看历史版本记录
目录 1.查看详细的历史版本记录 2.简化显示历史版本记录 3.历史版本记录常用操作 (1)指定查看最近几次提交的内容 (2)以简单图形的方式查看分支版本历史 (3)翻页与退出 4.查看分支相关的版本 ...
- docker 添加Portainer容器图形化管理工具
主要参照了这边博客,但还是有些问题https://www.cnblogs.com/Bug-Hunter/p/12023130.html 比如端口9000得开启,docker端口映射得开启,得开启ip4 ...
- 6、Docker图形化管理(Portainer)
一.Portainer简介 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控 ...
- Docker可视化管理工具Portainer
Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...
- 介绍一款docker管理工具——portainer
介绍一款docker管理工具--portainer 目录 介绍一款docker管理工具--portainer 1.背景 1.1 管理docker方法上一般有两种 1.1.1 命令行形式 1.1.2 U ...
- 学习资源 Docker从入门到实践 pdf ,docker基础总结导图
学习资源 Docker从入门到实践 pdf ,docker基础总结导图 Docker从入门到实践 pdf 云盘地址:https://pan.baidu.com/s/1vYyxlW8SSFSsMuKaI ...
- Java基础-Eclipse第三方安装包管理工具之Maven
Java基础-Eclipse第三方安装包管理工具之Maven 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩过Linux的小伙伴应该都知道yum吧,我们只要把搭建好的yum仓库配 ...
随机推荐
- Token+Redis实现接口幂等性
一.什么是 幂等性 在编程中,幂等性的特点就是其任意多次执行的效果和一次执行的效果所产生的影响是一样的. 二.Token+Redis的实现思路 1.数据提交前要向服务的申请 token(用户登录时可以 ...
- 微擎site.php函数以及路由连接
任务1: 微擎模块设计: module.php 规则类: 会调用module.php manifest.xml中业务菜单对应的模块 如果在site.php中没有相应的函数 比如 /web/index. ...
- 【Github资源大汇总】 - 王朋
1.Github-iOS备忘 (国人总结的上百个Github上的开发框架和完整App) http://github.ibireme.com/github/list/ios/ 2.不少优秀的 iOS, ...
- 关于static
static是静态的意思: static修饰的成员变量,在内存中存在于方法区中,只有一份,非静态的成员变量在堆中,每个对象中都有一份 public class Demo1 { public st ...
- docker | jenkins 实现自动化CI/CD,后端躺着把运维的钱挣了!(下)
前言 在上一篇文章中,我们使用docker编写Dockerfile文件,将我们自己的项目构建成镜像,然后发布到Docker Hub中,并且用自己的云服务器拉取Docker Hub上我们自己上传的项目镜 ...
- python基础语法_9-2函数式编程
https://www.imooc.com/learn/317 大纲 1-函数式编程简介 2-高阶函数 3-把函数作为参数 4-map()函数 5-reduce()函数 6-filter()函数 7- ...
- Appium链接夜神模拟器
参考官方技术文档: http://appium.io/slate/cn/master/ 确保已经安装jdk和adt adb需要配置系统环境变量: D:\adt-bundle-windows-x86_6 ...
- Solution -「CF 1586F」Defender of Childhood Dreams
\(\mathcal{Description}\) Link. 定义有向图 \(G=(V,E)\),\(|V|=n\),\(\lang u,v\rang \in E \Leftrightarr ...
- Solution -「洛谷 P4194」矩阵
\(\mathcal{Description}\) Link. 给定一个 \(n\times m\) 的矩阵 \(A\),构造一个 \(n\times m\) 的矩阵 \(B\),s.t. \ ...
- jsp页面获取请求参数问题记录
同一个请求可以从请求路径中获取参数,使用param.参数名 window.location.href = "admin/page.html?pageNum="+pageNum+&q ...