Docker 可视化工具 Portainer 安装与基础使用
本文介绍了Docker可视化工具Portainer的安装与使用指南。主要内容包括:Portainer的核心优势(免命令行、可视化监控、轻量高效);Linux系统安装步骤(创建数据卷、启动容器)及常见问题解决方案;首次访问时的初始化配置;五大核心功能(容器管理、镜像管理、数据卷管理、日志查看、系统信息)的操作方法;以及Linux环境下特有的错误排查方法。文章特别强调生产环境的安全注意事项,并建议新手
前言:前面我们学了大量Docker命令,新手难免会觉得“记命令、输命令太麻烦”——Portainer作为Docker最主流的可视化工具,能通过图形界面完成镜像管理、容器生命周期控制、日志查看等所有核心操作,彻底摆脱“记命令”的困扰。
本文全程新手友好,聚焦Linux系统(Ubuntu/CentOS通用) ,从“Portainer安装(含避坑)→ 初始化配置 → 核心功能使用 → 常见错误解决”全流程拆解,同时补充Linux下安装Portainer的专属排错方案,帮你快速上手这个“Docker图形化神器”,零基础也能通过界面管理Docker!
建议收藏+关注,跟着系列教程,从“命令行操作”过渡到“可视化管理”,大幅降低Docker实操门槛~
一、Portainer核心价值(新手必知)
为什么推荐新手用Portainer?核心优势贴合新手痛点:
-
无需记命令:所有操作(启动容器、拉取镜像、删除容器)通过鼠标点击完成;
-
可视化监控:直观查看容器状态、资源占用(CPU/内存)、日志输出;
-
操作简单:界面简洁,功能分类清晰,新手5分钟就能上手;
-
轻量高效:仅需一个容器即可运行,占用资源极少(≤100MB内存);
-
兼容所有Docker操作:覆盖命令行的90%核心功能,完全满足新手需求。
二、Linux安装Portainer(分步实操+避坑)
Portainer分“Portainer CE(社区版,免费)”和“Portainer EE(企业版,收费)”,新手选CE版即可,安装仅需2步:创建数据卷(持久化配置)+ 启动Portainer容器。
前置检查(避免安装后踩坑)
先确认Linux环境满足以下条件(参考第19章安装排错):
-
Docker已正常安装并启动(
docker --version、docker ps无报错); -
8000/tcp、9443/tcp端口未被占用(Portainer默认用这两个端口);
# 检查端口占用 netstat -tulpn | grep -E "8000|9443" # 若占用,先停止占用进程(如sudo kill -9 进程ID) -
已配置国内镜像加速器(避免拉取Portainer镜像超时,参考第19章错误5)。
步骤1:创建Portainer数据卷(关键!持久化配置)
Portainer的配置(如管理员账号、已管理的容器)需要持久化存储,否则容器删除后配置丢失:
# 创建名为portainer_data的数据卷 docker volume create portainer_data # 验证数据卷创建成功 docker volume ls | grep portainer_data # 输出:local portainer_data
步骤2:启动Portainer容器(核心命令)
# 启动Portainer CE容器(Linux通用) docker run -d \ -p 8000:8000 \ -p 9443:9443 \ --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest
命令参数解读(新手必懂)
|
参数 |
作用 |
新手提示 |
|
|
后台运行容器 |
避免终端关闭后Portainer停止 |
|
|
端口映射(Edge代理用,新手暂时用不到,建议保留) |
必须映射,否则Edge功能无法使用 |
|
|
端口映射(Portainer Web界面访问端口) |
核心端口,务必映射 |
|
|
自定义容器名 |
方便后续管理(如停止/重启) |
|
|
Docker重启后自动启动Portainer |
避免服务器重启后Portainer失效 |
|
|
挂载Docker套接字文件 |
Portainer通过该文件控制Docker,必须挂载 |
|
|
挂载数据卷到容器/data目录 |
持久化Portainer配置,必须挂载 |
步骤3:验证Portainer启动成功
# 查看容器状态(STATUS应为Up) docker ps | grep portainer # 输出示例: # abc123456789 portainer/portainer-ce:latest "/portainer" 10 seconds ago Up 8 seconds 0.0.0.0:8000->8000/tcp, 0.0.0.0:9443->9443/tcp portainer # 查看Portainer日志(无报错即为正常) docker logs portainer
三、Portainer初始化配置(首次访问)
步骤1:访问Portainer Web界面
在浏览器中输入:https://Linux服务器IP:9443(注意是https,不是http)。
-
示例:Linux服务器IP为[192.168.1.100](192.168.1.100),则访问
https://192.168.1.100:9443; -
首次访问会提示“安全证书不受信任”,点击“高级”→“继续访问”(仅本地/测试环境,生产环境需配置合法证书)。
步骤2:创建管理员账号
-
首次进入会显示“Create initial admin user”界面;
-
输入用户名(建议用admin)和密码(密码长度≥8位);
-
点击“Create user”完成创建(密码一定要记住!)。
步骤3:连接本地Docker环境
-
进入“Get started”界面,选择“Local”(本地Docker环境);
-
点击“Connect”,即可进入Portainer主界面。
四、Portainer基础使用(核心功能,替代命令行)
Portainer主界面左侧是功能菜单,新手重点掌握以下5个核心功能,覆盖80%实操场景:
1. 容器管理(替代docker run/ps/stop/rm)
核心操作:
-
查看所有容器:点击左侧“Containers”,界面显示所有容器(运行中/已停止),包含容器名、状态、镜像、端口等信息(替代
docker ps -a); -
启动/停止容器:找到目标容器,点击“Start”/“Stop”按钮(替代
docker start/stop); -
创建容器(替代
docker run):-
点击“Add container”;
-
填写容器名、选择镜像(如nginx:1.23.4);
-
配置端口映射(如Host port填8080,Container port填80);
-
点击“Deploy the container”,等待创建完成;
-
-
删除容器:找到目标容器,点击“Remove”(替代
docker rm,会先停止容器再删除); -
进入容器终端(替代
docker exec -it):点击容器右侧“Console”,即可打开容器的命令行终端。
2. 镜像管理(替代docker pull/images/rmi)
-
查看本地镜像:点击左侧“Images”,显示所有本地镜像(替代
docker images); -
拉取镜像(替代
docker pull):-
点击“Pull image”;
-
输入镜像名+标签(如hello-world、nginx:1.23.4);
-
点击“Pull the image”,等待拉取完成;
-
-
删除镜像:找到目标镜像,点击“Remove”(替代
docker rmi,会提示先删除依赖的容器)。
3. 数据卷管理(替代docker volume)
-
查看数据卷:点击左侧“Volumes”,显示所有数据卷(替代
docker volume ls); -
创建数据卷:点击“Add volume”,输入数据卷名,点击“Create the volume”(替代
docker volume create); -
删除数据卷:点击“Remove”(替代
docker volume rm)。
4. 日志查看(替代docker logs)
-
找到目标容器,点击右侧“Logs”;
-
界面显示容器日志,可选择“实时刷新”“筛选日志级别”(如Error/Warn),比命令行更直观(替代
docker logs -f)。
5. 系统信息(替代docker info/docker system df)
-
点击左侧“Dashboard”,显示Docker主机的CPU、内存、磁盘使用率,以及容器/镜像/数据卷的统计信息(替代
docker info); -
点击左侧“System”→“Docker info”,查看Docker的详细配置(如镜像加速器、存储驱动)。
五、Linux安装Portainer常见错误及解决方案
错误1:启动Portainer容器报“permission denied”
报错现象
docker: Error response from daemon: error while creating mount source path '/var/run/docker.sock': chown /var/run/docker.sock: permission denied.
核心原因
当前用户无权限访问/var/run/docker.sock。
解决方案
-
将当前用户加入docker组:
sudo usermod -aG docker $USER newgrp docker -
重新启动Portainer容器:
docker rm -f portainer # 删除失败的容器 # 重新执行启动命令(步骤2) docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
错误2:访问https://IP:9443无法打开
报错现象
浏览器提示“无法连接”或“超时”。
核心原因及解决方案
|
原因 |
排查/解决步骤 |
|
端口9443未开放(Linux防火墙/安全组) |
1. 关闭防火墙(测试环境):<br/>Ubuntu:sudo ufw disable<br/>CentOS:sudo systemctl stop firewalld<br/>2. 生产环境开放端口:<br/>Ubuntu:sudo ufw allow 9443/tcp<br/>CentOS:sudo firewall-cmd --add-port=9443/tcp --permanent && sudo firewall-cmd --reload |
|
Portainer容器未启动 |
执行 |
|
服务器IP填写错误 |
确认Linux服务器IP( |
错误3:拉取Portainer镜像报“timeout”
报错现象
Error response from daemon: Get "https://registry-1.docker.io/v2/portainer/portainer-ce/manifests/latest": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
核心原因
未配置国内镜像加速器,访问Docker Hub超时(参考第19章Linux错误5)。
解决方案
-
配置国内镜像加速器:
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://你的阿里云加速器地址", "https://mirror.baidubce.com" ] } EOF -
重启Docker服务:
sudo systemctl daemon-reload sudo systemctl restart docker -
重新拉取Portainer镜像:
docker pull portainer/portainer-ce:latest
错误4:Portainer容器启动后自动退出
报错现象
docker ps -a | grep portainer # 输出:abc123456789 portainer/portainer-ce:latest "/portainer" 10 seconds ago Exited (1) 5 seconds ago portainer
核心原因
-
/var/run/docker.sock挂载失败,Portainer无法连接Docker; -
Docker服务未启动。
解决方案
-
确认Docker服务已启动:
sudo systemctl start docker sudo systemctl enable docker -
重新启动Portainer容器(确保
-v /var/run/docker.sock:/var/run/docker.sock参数正确):docker rm -f portainer docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
六、Portainer使用避坑(新手必看)
-
不要直接删除Portainer容器:删除前先备份配置(数据卷portainer_data),否则管理员账号、容器配置会丢失;
-
密码忘记怎么办:删除portainer_data数据卷,重新启动Portainer容器,即可重新创建管理员账号(会丢失所有配置);
docker rm -f portainer docker volume rm portainer_data docker volume create portainer_data docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest -
生产环境注意安全:
-
不要用默认端口9443,改为自定义端口(如9999);
-
配置HTTPS证书(Portainer支持上传自有证书);
-
限制访问IP(通过防火墙仅允许指定IP访问Portainer)。
-
七、核心关联:Portainer与前文知识点闭环
-
替代命令行:Portainer的容器/镜像管理功能,对应第15章Docker基础命令、第17章容器生命周期;
-
安装排错:Linux下Portainer的安装错误,多数与第19章Docker安装错误(权限、端口、加速器)同源;
-
数据卷:Portainer的数据卷持久化,对应第18章镜像分层的“可写层”逻辑(配置保存在数据卷,不丢失)。
总结
核心知识点回顾
-
安装核心:Linux安装Portainer需“创建数据卷+启动容器”,必须挂载
/var/run/docker.sock和数据卷; -
核心功能:容器管理、镜像管理、日志查看是新手最常用的功能,可完全替代命令行;
-
排错重点:Linux下常见错误集中在“权限不足、端口占用、加速器未配置、防火墙未开放”;
-
使用原则:测试环境可随意操作,生产环境需注意密码安全和端口限制。
新手实操建议
-
先练后用:先用Portainer创建/停止/删除hello-world、nginx容器,熟悉界面操作,再替代命令行;
-
对比学习:做同一个操作(如启动nginx容器),分别用命令行和Portainer完成,理解两者的对应关系;
-
备份配置:定期备份portainer_data数据卷(
docker volume inspect portainer_data查看存储路径,复制备份),避免配置丢失。
后续我会更新Docker Compose的可视化编排(Portainer支持Compose文件管理),关注我,跟着系列教程一步步吃透Docker,从可视化管理到多容器编排,零基础也能轻松上手容器化开发!
觉得有用的话,收藏+关注,评论区扣“Portainer”,免费领取《Portainer操作速查表+Linux排错手册》,助力你快速掌握Docker可视化管理,少走弯路~
更多推荐



所有评论(0)