Portainer 管理docker服务¶
概要: Portainer是用于管理Dcoker应用/服务的web可视化工具。支持多个服务器节点。
创建时间: 2023.08.03 00:06:40
更新时间: 2023.08.03 00:16:09
准备工作¶
确保运行portainer的机器上已经具备了Docker环境
安装portainer-server¶
首先,在安装/运行portainer之前,需要创建docker卷:
Bash | |
---|---|
以普通Docker容器方式安装¶
Bash | |
---|---|
完成后,使用浏览器打开本机的9000端口即可进行创建用户和管理等操作。
以docker-compose方式安装¶
docker-compose.yaml
文件如下
YAML | |
---|---|
然后在文件所在目录执行
Bash | |
---|---|
完成安装
添加其它运行Docker服务的机器¶
警告
以下操作仅针对Linux服务器,其它系统请参考官方文档
三种监控方式的对比如下
方式 | 优点 | 缺点 |
---|---|---|
修改Docker启动参数 | 不用在监控机器上额外部署服务 | (1)需要开放2375端口; (2)需要重启docker服务 |
使用portainer-agent | 无需重启docker服务 | (1)需要开放9001端口; (2)部署额外容器 |
使用portainer-edge-agent | 无需重启docker服务和开放端口,以心跳方式通信 | 不能在UI上直观看到agent机器硬件配置参数 |
方式一:直接修改Docker启动参数¶
警告
此方式会暴露2375端口给所有portainer-server,请务必设置好防火墙,目前不建议使用此方式连接portainer的server,可能存在安全隐患
修改Docker服务配置¶
首先编辑Docker服务文件的启动参数
Bash | |
---|---|
找到ExecStart=.....
字段,追加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
,修改后的文件内容如下
Bash | |
---|---|
然后重启系统守护进程和Docker服务
如果Linux服务器有防火墙,则需要打开2375端口给部署了portainer的主机,以CentOS的防火墙工具firewalld
为例:
Bash | |
---|---|
添加endpoint¶
进入portainer的web管理主页,点击SETTING
下的Endpoints
,点击Add endpoint
:
然后在Environment type
中选择Docker,再填入Name
(随便填)和Endpoint URL
(要管理的服务器IP,端口默认2375),局域网中上述两项足以。如果有公网IP或域名也可以填入Public IP
内。
然后点击Add endpoint
即可管理新节点的Docker服务。
方式二:使用portainer-agent¶
提示
请确保portainer-agent所在的对应服务器上端口9001不被占用(或映射到其它端口),并配置好防火墙
使用docker直接部署agent¶
一行命令即可
Bash | |
---|---|
使用docker-compose部署agent¶
docker-compose.yaml
如下
YAML | |
---|---|
方式三:使用portainer-edge-agent¶
提示
请将portainer-server版本升级到2.9+
点击Environments --> Add environment
,然后选择Edge Agent
:
接下来设置好portainer-server的地址,点击添加
以使用docker直接部署edge-agent为例,在下图中portainer自动生成部署命令,在agent机器上执行即可
监控页面概览¶
参考¶
- Portainer Deployment: https://documentation.portainer.io/v2.0/deploy/ceinstalldocker/
- Add an environment to an existing installation: https://docs.portainer.io/v/ce-2.9/start/install/agent
- 使用portainer连接远程docker的教程: https://www.jb51.net/article/182015.htm