Docker管理面板系列——Portainer
一.介绍
Portainer是个轻量级的Docker管理面板,和Rancher这种重量级选手没法比,Portainer倾向于单机的管理(后来发现能够添加多个单机节点切换着管理),当然,在Docker搞出Swarm之后Portainer也借此实现了集群管理。
使用官方提供的Demo预览一下
地址: http://demo.portainer.io/
用户名: admin
密码: tryportainer
你会有一种眼前一亮的感觉,美观,而且功能全面(从边上这一长列就能感受出来)

虽然选项很多,但是其实就是命令行操作的简化,如果你用过Docker的命令行操作你能很快熟悉Portainer,和Rancher那种多了很多新花样不一样,Rancher的很多东西你看上去是摸不着头脑的,必须看着文档试一下才能大概弄清楚这是个啥。
二.安装
是不是眼馋了?那么就让我们装一下玩玩吧。
这是Portainer对Docker各版本的支持情况

Portainer的安装方式主要有两种,一个是使用Docker安装,一个是二进制文件直接跑,我建议用Docker安装,比较方便点,也不用你自己去配置自启动啥的。
其他的请参考官方文档 ——> 传送门
首先,我们得先把Unix套接字或者TCP监听打开,来方便连接(不过似乎Unix套接字默认是启用的,TCP需要自己开)
PS.这儿请务必注意,不能直接配0.0.0.0,因为如果不做ACL或者TLS认证会导致你的Docker被人扫到后直接控制,有可能被远程创建挖矿容器
先确认你的机器中是否存在/etc/sysconfig/docker这个配置文件,如果存在的话请修改,在其中的配置选项中加入如下内容
-Htcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
|
1
2
|
#这个仅允许本地连接,如果要远程的话改成0.0.0.0,但是如果是公网中远程请你自己配TLS认证或者防火墙加白名单
-Htcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
|
但是,很多情况下我们会不存在这个文件(较高版本的Docker不会自动创建这个),所以我们可以选择另外一种方法,参照Docker文档——>传送门
#添加如下,这个仅允许本地连接,如果要远程的话改成0.0.0.0,如果添加的不在最后一行请在末尾加上逗号
"hosts": ["tcp://127.0.0.1:2375", "unix:///var/run/docker.sock"]
#如果deamon.json不存在请添加完整的json格式
{
"hosts": ["tcp://127.0.0.1:2375", "unix:///var/run/docker.sock"]
}
|
1
2
3
4
5
6
7
|
vi /etc/docker/daemon.json
#添加如下,这个仅允许本地连接,如果要远程的话改成0.0.0.0,如果添加的不在最后一行请在末尾加上逗号
"hosts": ["tcp://127.0.0.1:2375", "unix:///var/run/docker.sock"]
#如果deamon.json不存在请添加完整的json格式
{
"hosts": ["tcp://127.0.0.1:2375", "unix:///var/run/docker.sock"]
}
|
虽然其实你修改启动脚本在dockerd命令之后添加 -H unix:///var/run/docker.sock -H tcp://127.0.0.1 也可以,但是这样终归不怎么优雅。
准备工作做完,然后开始安装,使用Docker安装有三种连接方式
首先是全部都需要做的操作,添加一个数据卷,当然你也可以在docker run的时候手动指定数据挂载路径,效果是一样的,将下面docker run命令中的portainer_data换成宿主机上的具体路径就OK
|
1
|
docker volume create portainer_data
|
1. 使用Unix套接字连接单个Docker(本地)
|
1
|
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
|
2. 使用TCP方式连接单个Docker(本地或远程)
docker run -d -p 9000:9000 portainer/portainer -H tcp://127.0.0.1:2375
|
1
2
|
#如果连接的是远程的docker,请把ip换掉(如果你改了dockerd监听的默认端口也记得修改2375)
docker run -d -p 9000:9000 portainer/portainer -H tcp://127.0.0.1:2375
|
3. 使用Unix套接字或TCP连接Swarm集群(本地或远程)
|
1
|
docker run -d -p 9000:9000 portainer/portainer -H tcp://SWARM集群管理IP:2375
|
下面这个算是另外一种了,是将Portainer以服务的形式部署在集群中,似乎也可以借助Swarm来实现HA?
--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
|
1
2
3
4
5
6
7
8
9
|
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
|
第一次访问会让你创建账号

然后选择连接的是本地还是远端的Docker


全部设置完后我们就能进去了,新建容器的操作也很友好

感觉还是挺棒的,至于Swarm的我就不说啥了,之后估计还有专门讲Swarm基本使用的文章,可以关注下。

Tags: docker, docker管理面板, portainer
Docker管理面板系列——Portainer的更多相关文章
- Docker管理面板-URLOS(易用、高效、强大)
一.介绍 URLOS是一个Docker管理面板,它把服务器端软件应用的安装行为简化到极致,堪称服务器端的应用宝,具有集群管理.自动故障转移.自动负载均衡等高级功能,可轻易搭建7*24小时在线的网站运行 ...
- Docker管理面板Crane开源了!
导读 数人云容器管理面板 Crane 开源啦!Crane 包含着数人云工程师对 Docker 最新技术的热爱和实践.希望借助开源社区的力量,让 Crane 完善自身,更好地成长起来,让更多的国内用户体 ...
- Docker 一键安装及Docker管理面板Portainer中文汉化
前言 Docker接触了一段时间了,批量操作过程中感觉太繁琐,所以找到了好评率比较高的Portainer面板,使用后感觉的确不错所以准备拿出来精力来做个汉化版,过程中发现词条非常多,所以暂时先汉 ...
- Docker管理工具之portainer
参考:https://www.cnblogs.com/frankdeng/p/9686735.html 1. 查询portainer镜像 命令:docker search portainer 实例: ...
- 安装 docker管理 工具 页面 portainer
sudo docker run -d -p 7998:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data ...
- Docker(41)- Portainer 可视化面板安装
Portainer docker run -d -p 8080:9000 \ --restart=always -v /var/run/docker.sock:/var/run/docker.sock ...
- Docker 管理工具 Portainer部署
Docker 管理工具 Portainer部署 一.官网 官网:http://www.portainer.io 演示地址:http://demo.portainer.io 用户名:admin 密码:t ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...
随机推荐
- Python 项目组织最佳实践:从脚本到大型项目的进化之路
在 Python 开发生涯中,相信很多人都是从写简单脚本开始的.随着项目规模扩大,我们会遇到各种项目组织的问题.今天,让我们从一个实际场景出发,看看如何一步步优化 Python 项目结构,实现从简单脚 ...
- R语言系列—R语言简介及安装
同学们,大家好,今天开始开设一个新系列,R语言系列,对生信分析中涉及到的R语言代码及R语言绘图进行详细讲解,感兴趣的同学可以重点关注一下. 什么是R语言? R语言是用于统计分析.绘图的语言和操作环境. ...
- Linux 压缩命令集合
01. tar格式 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) 02. gz格式 解压1:gunzi ...
- 优化永不止步:TinyVue v3.20.0 正式发布,更美观的官网UI,更友好的文档搜索,更强大的主题配置能力~
你好,我是 Kagol,个人公众号:前端开源星球. 我们非常高兴地宣布,2024年12月4日,TinyVue 发布了 v3.20.0 . 本次 3.20.0 版本主要有以下重大变更: OpenTiny ...
- w3cschool-HBase官方文档-2数据模型
HBase数据模型 2018-03-03 15:20 更新 HBase数据模型 在 HBase 中,数据模型同样是由表组成的,各个表中又包含数据行和列,在这些表中存储了 HBase 数据.在本节中,我 ...
- Robot Framework 自动化测试部署常见问题及处理方法(三)
书接上文 8.关于IE浏览器 IE浏览器必须是原生版,即Windows系统原版,非手动升级后的版本 9.用例执行过程中,遇到元素定位不到的情况 原因: ⑴xpath动态变化 ⑵有frame/ifram ...
- [rustGUI][iced]基于rust的GUI库iced(0.13)的部件学习(04):实现窗口主题(颜色)变换(暨menu菜单的使用)
前言 本文是关于iced库的部件介绍,iced库是基于rust的GUI库,作者自述是受Elm启发. iced目前的版本是0.13.1,相较于此前的0.12版本,有较大改动. 本合集是基于新版本的关于分 ...
- Gitblit 服务器IP变更
当Gitblit服务器的IP地址发生变化时,只需将项目中 ./git/config 文件中的 url改为新的IP即可.
- 手把手教你部署 DeepSeek 本地模型
本文目标:部署 DeepSeek 本地模型,并通过 Ollama 提供 API 支持,Chatbox 提供 UI 界面. 原则:不搞那些高深的玩法,让小白也能理解并真正的上手实践. 1.下载Ollam ...
- Dummynet简单部署
本文分享自天翼云开发者社区<Dummynet简单部署>,作者:凸凹 部署流程 ^准备内核版本 ^参看系统内核版本 uname -r 我们需要将ipfw编译成内核模块,请确保ipfw用到的内 ...