Dockge:开源Docker Compose可视化管理神器,轻量级Portainer替代

Dockge:开源Docker Compose可视化管理神器,轻量级Portainer替代 Dockge开源Docker Compose可视化管理神器轻量级Portainer替代背景管理 Docker 容器时你是否遇到过这些烦恼命令行操作繁琐容易出错Portainer 界面复杂加载慢docker-compose.yaml 文件修改不方便多台服务器管理需要频繁切换想用命令行又记不住那么多参数今天介绍一款专为 Docker Compose 设计的开源管理工具——Dockge在 GitHub 上已获得17K Star。什么是 DockgeDockge 是一个美观、易用、响应式的自托管 Docker Compose 堆栈管理器由 Uptime Kuma 的作者开发。核心特性特性说明可视化管理图形化界面管理 compose 项目交互式编辑器可视化编辑 docker-compose.yamlWeb 终端内置交互式容器终端多主机支持一界面管理多台 Docker 服务器命令转换docker run 转 compose.yaml文件自主compose 文件存储在本地不锁定实时响应进度和终端输出实时显示GitHub 地址https://github.com/louislam/dockge官网https://dockge.kuma.petDockge vs Portainer对比项DockgePortainer定位专注于 Compose通用容器管理界面现代化简洁功能丰富但复杂启动速度快速响应较慢加载久文件管理compose 文件本地存储数据库存储学习曲线低上手快中等资源占用轻量较重多主机✅ 原生支持✅ 支持单容器管理❌ 不支持✅ 支持Dockge 的设计理念用 docker-compose.yaml 做一切不绑架你的文件存储在本地专注于堆栈管理而非通用功能界面美观响应迅速快速上手安装方式一一键部署推荐# 创建目录mkdir-p/opt/stacks /opt/dockgecd/opt/dockge# 下载 compose.yamlcurlhttps://raw.githubusercontent.com/louislam/dockge/master/compose.yaml--outputcompose.yaml# 启动服务dockercompose up-d# 访问管理界面# http://localhost:5001方式二自定义配置# 自定义端口和存储路径curlhttps://dockge.kuma.pet/compose.yaml?port8080stacksPath/home/user/stacks--outputcompose.yaml首次配置访问http://localhost:5001创建第一个堆栈Stack粘贴或编写 docker-compose.yaml点击部署核心功能详解1. 堆栈管理Dockge 的核心功能是管理 Docker Compose 堆栈创建堆栈1. 点击 Create Stack 2. 输入堆栈名称如 my-website 3. 编写或粘贴 compose.yaml 4. 点击 Deploy管理操作操作说明Start启动堆栈Stop停止堆栈Restart重启堆栈Delete删除堆栈Pull更新镜像Up重新构建并启动Down停止并移除容器Compose 文件示例version:3.8services:web:image:nginx:alpinecontainer_name:my-websiteports:-80:80-443:443volumes:-./html:/usr/share/nginx/htmlrestart:unless-stoppedredis:image:redis:7-alpineports:-6379:6379volumes:-redis_data:/datarestart:unless-stoppedvolumes:redis_data:2. 交互式编辑器Dockge 提供功能完整的 YAML 编辑器编辑器特性语法高亮自动补全错误提示格式化代码折叠快捷操作快捷键功能CtrlS保存CtrlZ撤销CtrlF搜索Tab缩进3. Web 终端内置交互式容器终端无需另开终端1. 点击堆栈中的终端图标 2. 选择要进入的容器 3. 直接执行命令支持的操作查看日志实时进入容器内部执行运维命令调试问题4. docker run 转 composeDockge 可以将 docker run 命令转换为 compose.yaml使用方法1. 点击 Import 2. 粘贴 docker run 命令 3. 自动生成 compose.yaml 4. 确认后部署转换示例输入 docker run -d --name nginx -p 80:80 -v /data:/usr/share/nginx/html nginx:alpine 输出 services: nginx: image: nginx:alpine container_name: nginx ports: - 80:80 volumes: - /data:/usr/share/nginx/html restart: no5. 多主机管理Dockge 支持同时管理多台 Docker 服务器添加远程主机1. 设置 → Agents 2. 点击 Add Agent 3. 输入远程服务器信息 4. 复制安装命令到远程服务器执行使用场景管理多台服务器的容器统一监控所有服务状态集中部署和运维6. 实时状态监控界面实时显示容器状态状态指示状态颜色说明Running绿色运行中Stopped灰色已停止Error红色错误Updating蓝色更新中实时信息容器健康状态资源使用情况镜像版本启动时间实战场景场景1快速部署博客系统使用 Docker Compose 部署 Halo 博客version:3.8services:halo:image:halohub/halo:2.17container_name:haloports:-8090:8090volumes:-./halo:/root/.halo2environment:-HALO_SECURITY_INITIAL_USER_PASSWORDyour-passwordrestart:unless-stoppednetworks:-halo_networkmysql:image:mysql:8.1container_name:halo-mysqlports:-3306:3306volumes:-./mysql:/var/lib/mysqlenvironment:-MYSQL_ROOT_PASSWORDyour-mysql-password-MYSQL_DATABASEhalorestart:unless-stoppednetworks:-halo_networknetworks:halo_network:部署步骤1. 在 Dockge 创建新堆栈 halo-blog 2. 粘贴上述 compose.yaml 3. 修改密码 4. 点击 Deploy 5. 访问 http://localhost:8090场景2搭建 Next.js 应用version:3.8services:nextjs:image:node:20-alpinecontainer_name:nextjs-appworking_dir:/appvolumes:-./app:/app-/app/node_modulesports:-3000:3000environment:-NODE_ENVproduction-DATABASE_URLpostgres://user:passdb:5432/myappcommand:sh-c npm installnpm run startdepends_on:-dbrestart:unless-stoppeddb:image:postgres:15-alpinecontainer_name:nextjs-dbvolumes:-postgres_data:/var/lib/postgresql/dataenvironment:-POSTGRES_USERuser-POSTGRES_PASSWORDpass-POSTGRES_DBmyapprestart:unless-stoppedvolumes:postgres_data:场景3家庭影院系统version:3.8services:jellyfin:image:jellyfin/jellyfin:latestcontainer_name:jellyfinports:-8096:8096-8920:8920volumes:-./config:/config-./cache:/cache-./media:/mediaenvironment:-TZAsia/Shanghairestart:unless-stoppeddevices:-/dev/dri:/dev/drijackett:image:linuxserver/jackett:latestcontainer_name:jackettports:-9117:9117volumes:-./jackett:/config-./jackett/downloads:/downloadsenvironment:-PUID1000-PGID1000-TZAsia/Shanghairestart:unless-stopped高级配置自定义堆栈目录默认情况下堆栈存储在/opt/stacks。如需修改# 创建目录mkdir-p/your/custom/path# 启动时指定curlhttps://dockge.kuma.pet/compose.yaml?stacksPath/your/custom/path--outputcompose.yaml# 修改环境变量STACKS_PATH/your/custom/path绑定到特定网络如果 Docker 使用了自定义网络services:dockge:image:louislam/dockge:latestcontainer_name:dockgeports:-5001:5001volumes:-/var/run/docker.sock:/var/run/docker.sock-/opt/stacks:/opt/stacksnetworks:-my-custom-networkrestart:unless-stoppednetworks:my-custom-network:external:true常见问题QDockge 和 Portainer 可以同时使用吗A可以。它们可以共存各司其职Dockge管理 compose 堆栈Portainer管理单容器、网络等Qcompose 文件会存储在哪里ADockge 使用文件结构存储compose.yaml 保存在你指定的目录如/opt/stacks中可以在文件管理器或用命令行直接操作。Q如何迁移已有堆栈到 DockgeA1. 停止现有堆栈 docker compose down 2. 将 compose 文件移动到堆栈目录 mv docker-compose.yml /opt/stacks/my-stack/compose.yaml 3. 在 Dockge 点击 Scan Stacks Folder 4. 堆栈自动识别并显示Q支持哪些 Docker 版本A需要 Docker 20 或 Podman。Q如何更新 DockgeAcd/opt/dockgedockercompose pulldockercompose up-d适用场景推荐使用使用 Docker Compose 管理多容器应用需要可视化编辑 compose.yaml喜欢简洁界面的用户家庭服务器、NAS 用户小型开发团队不推荐使用需要管理单容器、网络、卷等已有成熟 CI/CD 流程超大规模容器管理总结Dockge 用专注 简洁 响应式的理念为 Docker Compose 管理提供了一个轻量级的解决方案。核心优势回顾专注 Compose专为 docker-compose 设计文件自主compose 文件存储本地不锁定界面美观现代化 UI响应迅速操作简便可视化编辑一键部署多主机管理一界面管理多台服务器轻量高效资源占用低启动快速对于使用 Docker Compose 的开发者和管理员Dockge 是一个值得尝试的高效管理工具。本文由无边界科技技术团队分享专注软件开发与技术解决方案。官网wubianj.com© 版权归无边界科技所有版权所有。