Docker Compose UI:用Portainer告别命令行,新手也能轻松管理容器

JSON 2026-01-23 16:33:49 1110

一、为什么选Portainer?新手也能放心用

市面上Docker可视化工具不少,但Portainer能成为主流,核心就是“好用不复杂”,优势特别贴合新手和日常使用场景:

  • 完全免费:社区版功能无阉割,日常管理容器、Docker Compose项目足够用,不用花一分钱;
  • 操作极简:界面像普通软件一样直观,不用记命令,所有操作都能通过点击完成,上手无门槛;
  • 功能全面:不仅能管Docker Compose项目,还能管理容器、镜像、数据卷、网络,从部署到监控一站式搞定;
  • 轻量稳定:镜像体积小,占用服务器资源少,支持“异常自动重启”,部署后不用频繁维护,适合个人和小型生产环境。

二、手把手部署Portainer(两步到位,复制即用)

Portainer本身也是一个容器,我们用Docker Compose一键部署,步骤简单,全程复制代码就行,不用手动配置复杂环境。

第一步:准备配置文件

先在服务器上建一个专门的文件夹(用来放Portainer的配置文件,避免混乱),操作如下:

  1. 打开服务器终端,输入命令创建文件夹并进入(文件夹名建议用portainer,好记): # 创建文件夹 mkdir -p /home/portainer # 进入文件夹(后续操作都在这个目录里做) cd /home/portainer
  2. 在这个文件夹里创建一个名为docker-compose.yml的配置文件,内容直接复制下面的(关键配置已加通俗注释,看不懂也能放心用): version: '3.8' # 定义要启动的服务(这里只需要Portainer一个服务) services: portainer: # 使用Portainer社区版镜像(免费版,放心用) image: portainer/portainer-ce:latest # 给容器起个名字,方便后续识别(就叫portainer) container_name: portainer # 核心设置:服务器重启、容器异常退出时,自动重启Portainer restart: always # 端口映射:把容器的端口暴露给服务器,方便浏览器访问 ports: - "9000:9000" # 核心访问端口,浏览器靠这个端口打开界面(必选) - "8000:8000" # 边缘节点通信端口(新手用不上,保留不影响,也能直接删掉这行) # 数据挂载:让Portainer能控制Docker,同时保存配置(缺一不可) volumes: # 给Portainer开权限,让它能操控服务器上的Docker(核心挂载) - /var/run/docker.sock:/var/run/docker.sock # 保存Portainer的配置(比如管理员账号、项目设置),重启后不丢失 - portainer_data:/data # 声明数据卷,专门用来存Portainer的配置数据(自动创建,不用手动管) volumes: portainer_data:

第二步:启动Portainer容器

配置文件做好后,只需要敲一行命令,就能让Portainer在后台运行:

docker-compose up -d

  命令解释:up表示启动服务,-d表示“后台运行”,执行后终端不会被占用,还能继续做其他操作。✅ 验证是否启动成功:输入docker-compose ps,如果看到“状态”列显示Up,就说明Portainer已经正常启动了。

三、首次访问Portainer:3步完成初始化

启动后,我们通过浏览器访问Portainer界面,做简单初始化就能用了,全程不用碰命令行。

  1. 打开浏览器访问:在本地电脑浏览器输入http://你的服务器IP:9000(比如服务器IP是192.168.1.100,就输http://192.168.1.100:9000);如果是在本地电脑部署,直接输http://localhost:9000。
  2. 创建管理员账号:首次访问会让你设置用户名和密码(密码必须至少8位,建议设一个好记又安全的),设置完点击“Create user”。
  3. 连接本地Docker环境:接下来会让你选择要管理的Docker环境,我们选“Local”(管理当前服务器的Docker),然后点击“Connect”,就能进入Portainer主界面了。

小贴士:如果打不开界面,先检查服务器防火墙是否开放了9000端口,再用docker-compose ps确认Portainer容器是否在运行。

四、核心操作:用Portainer可视化管理Docker Compose项目

Portainer里把Docker Compose项目叫做“Stacks(堆栈)”,不管是部署新项目、启停容器,还是查看日志,都能通过界面点击完成,下面分场景详细说。

场景1:部署Docker Compose项目(两种方式,按需选)

如果你已经有现成的docker-compose.yml文件,或者想在线写配置,都能快速部署。

方式1:上传现成的Compose文件(推荐,适合有现成配置的情况)

  1. 进入Portainer主界面,点击左侧菜单栏的「Stacks」;
  2. 点击页面右上角的「Add stack」(添加堆栈);
  3. 给项目起个名字(比如“my-web-app”,随便起,只要能区分就行);
  4. 找到“Compose file”区域,点击「Upload file」,选择本地电脑里的docker-compose.yml文件;
  5. 不用改其他设置,直接点击页面底部的「Deploy the stack」,等待几秒就能完成部署。

✅ 部署成功后,会自动跳转到项目详情页,能看到所有容器的运行状态。

方式2:在线编写Compose配置(适合没有现成文件,想直接调试的情况)

  1. 同样进入「Stacks」→「Add stack」,输入项目名称;
  2. 在“Compose file”的编辑框里直接写YAML配置(Portainer会自动语法高亮,写错了会提示,避免踩坑);
  3. 写完后点击「Deploy the stack」,直接部署项目。

场景2:日常管理操作(全可视化,不用记命令)

部署完项目后,后续的启停、修改配置、查看日志等操作,都在「Stacks」列表里完成,对应操作路径整理好了,直接对照做就行:

想要做的操作
具体操作路径
补充说明
启动/停止/重启项目
Stacks列表 → 找到对应项目 → 点击右侧「Actions」→ 选「Start/Stop/Restart」
停止项目后,容器不会删除,重启后能恢复运行
删除整个项目
Stacks列表 → 对应项目 → 「Actions」→「Delete」
会删除项目下所有容器、网络,建议先备份数据
查看容器日志
Stacks列表 → 点击项目名称进入详情 → 点击要查看的容器名称 → 选「Logs」
支持实时刷新日志,还能筛选时间、下载日志
修改Compose配置
Stacks列表 → 对应项目 → 「Actions」→「Edit」→ 修改配置 → 点击「Update the stack」
修改后会自动重启项目,应用新配置
进入容器终端
Stacks详情 → 容器名称 →「Console」→ 选择「/bin/bash」或「/bin/sh」→「Connect」
相当于命令行的docker exec -it 容器名 bash,不用敲命令
监控资源使用
左侧菜单栏「Containers」→ 查看对应容器的CPU、内存、网络占用
直观看到容器资源消耗,方便排查卡顿问题

五、新手必看:避坑小贴士+优化建议

1. 端口冲突怎么解决?

如果启动Portainer时提示“端口被占用”,说明9000端口已经被其他程序用了。修改docker-compose.yml里的端口映射,把9000:9000改成9001:9000(前面的9001可以换成其他没被占用的端口),再重新执行docker-compose up -d,之后用新端口访问即可。

2. 如何升级Portainer到最新版?

进入Portainer部署目录(就是之前的/home/portainer),执行以下命令,一键升级:

docker-compose pull && docker-compose up -d

  命令解释:pull表示拉取最新版镜像,后面的命令表示重启容器,升级后配置不会丢失。

3. 安全加固建议(生产环境必做)

  • 给Portainer配置SSL证书:进入Portainer主界面 → 左侧「Settings」→「SSL Certificate」,上传SSL证书,让访问地址从http变成https,更安全;
  • 限制端口访问:通过服务器防火墙,只允许自己的IP访问9000端口,避免他人尝试登录;
  • 定期备份配置:Portainer的配置存在portainer_data数据卷里,可通过命令导出备份,避免配置丢失。

4. 数据卷备份命令(新手可直接复制)

# 把Portainer配置备份到/home/backup目录下,命名为portainer_backup.tar
docker run --rm -v portainer_data:/source -v /home/backup:/target alpine tar -czvf /target/portainer_backup.tar -C /source .

六、备选工具:极简版Docker Compose UI

如果你的需求特别简单,只需要管理Docker Compose项目,不需要镜像、网络管理等功能,可以试试docker-compose-ui(轻量但维护较少,功能单一),部署命令如下:

docker run -d -p 8080:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v compose-ui-data:/data \
  francescou/docker-compose-ui

  部署后访问http://服务器IP:8080即可使用,适合追求极致简洁的场景,但长远来看,还是Portainer更稳定、功能更全。

总结:用Portainer,彻底和命令行说再见

对于新手和日常使用来说,Portainer是Docker Compose可视化管理的最优解,核心优势就是“简单、好用、全功能”:

  • 部署简单:只需要一个配置文件+一行命令,几分钟就能搞定;
  • 操作直观:所有管理动作都能通过鼠标点击完成,不用记任何命令;
  • 功能够用:从部署项目到监控资源,覆盖日常容器管理的所有需求。

记住两个核心要点:部署时必须挂载/var/run/docker.sock(让Portainer能控制Docker)和数据卷(保存配置),后续就能无忧无虑地用可视化界面管理所有容器了。

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/570.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
Docker 容器虚拟化管理平台 cSphere 。
什么是时间戳?轻松带你认识时间戳
Shiro教程(二)Maven管理Shrio Jar包
nodejs开发网站哪个框架?有什么优势?
seo优化在线检测工具轻松上排名
怎么合理管理、提高Javascript的性能
redis数据库支持什么过期的管理特性?
dns-prefetch对网站速度提升有多少?详解dns-prefetch。
redis数据库支持什么过期的管理特性?
nodejs开发网站哪个框架?有什么优势?
最新文章
文件上传漏洞与防御 4058
前端构建工具选型指南:Webpack、Vite、Rollup、esbuild 深度对比 1444
物联网时代2026年时序数据库选型指南 1151
SaaS行业面临AI挑战:从“无限复用”到“灵活适应” 1269
神经网络:从构造到模型训练全链路解析 1168
一文吃透 Redis 核心存储结构:ziplist、listpack 与哈希表扩容 / 并发查询 1593
Linux sudo提权完整指南:从基础用法到生产级安全配置 691
XSS 和 CSRF 的本质区别及开发防御全解析 772
JVM垃圾回收(GC)全维度解析:从原理到调优实战 813
Linux动静态库与ELF加载全解析:从实操制作到底层原理 912
最热文章
免费天气API,天气JSON API,不限次数获取十五天的天气预报 783114
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 711464
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 679993
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 562673
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 512621
Elasticsearch教程(四) elasticsearch head 插件安装和使用 484794
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 302947
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 247433
Elasticsearch教程(一),全程直播(小白级别) 233097
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 228329
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...