🚀 Docker‑Compose 部署 Dockge — 一站式可视化 Docker 管理
目标:在 Linux 服务器上使用 Docker‑Compose 一键部署 Dockge(Docker Compose UI)。
适用平台:Ubuntu 22.04 / Debian 12 / CentOS 9 / Rocky 9 等。
前置:已安装 Docker 20.10+ 与 Docker‑Compose 2.x。
📋 快速清单
| 步骤 | 关键命令 |
|---|---|
| 1 | sudo apt-get install -y docker.io docker-compose |
| 2 | mkdir -p ~/compose/dockge/dockge_stacks |
| 3 | cp dockge.yml ~/compose/dockge/ |
| 4 | cd ~/compose/dockge && docker compose up -d |
| 5 | 浏览 http://<IP>:5001 |
Tip:如果你使用 Docker‑Compose v2,直接
docker compose即可。
📦 目录结构
Copy block
~/compose/
└─ dockge/
├─ dockge.yml # 本教程使用的 Compose 文件
└─ dockge_stacks/ # Dockge UI 用于创建/管理其它栈
dockge_stacks必须保持与dockge.yml中挂载路径一致。
⚙️ dockge.yml(核心配置文件)
yamlCopy block
version: '3.8'
services:
dockge:
image: louislam/dockge:1 # 官方稳定版
container_name: dockge
restart: unless-stopped
privileged: true # 访问 Docker API
environment:
- DOCKGE_STACKS_DIR=/opt/stacks # Dockge 的栈目录
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data # 持久化 Dockge 配置(可选)
- /home/compose/dockge/dockge_stacks:/opt/stacks
ports:
- "5001:5001" # Web UI 端口
说明
privileged: true让 Dockge 能访问 Docker 守护进程。DOCKGE_STACKS_DIR必须与挂载路径/opt/stacks同步。./data用于持久化 Dockge 自身配置(如登录信息)。- 你可以把
dockge_stacks换成任意目录,只要保持environment与volumes配置一致。
🛠️ 安装 & 启动
1️⃣ 准备工作
bashCopy block
# 1. 更新 & 安装 Docker
sudo apt-get update
sudo apt-get install -y docker.io docker-compose
# 2. 确认 Docker 正常
docker run hello-world
# 3. 创建目录
mkdir -p ~/compose/dockge/dockge_stacks
2️⃣ 放置 Compose 文件
bashCopy block
# 复制本教程的 dockge.yml
cp dockge.yml ~/compose/dockge/
3️⃣ 启动 Dockge
bashCopy block
cd ~/compose/dockge
docker compose up -d
你也可以使用
docker compose up -d --build以确保拉取最新镜像。
4️⃣ 访问 UI
- 浏览器打开
http://<服务器IP>:5001 - 默认登录信息(如果你没有改动)
- 用户名:
admin - 密码:
admin - 第一次登录会提示你修改密码。
- 用户名:
📚 常见配置与扩展
| 功能 | 如何实现 | 代码片段 |
|---|---|---|
| 使用非 root 用户 | 设置 PUID、PGID |
- PUID=1000- PGID=1000 |
| 挂载私有镜像仓库 | 共享 ~/.docker/config.json |
- /root/.docker:/root/.docker |
| 自定义端口 | 修改 ports |
- "8080:5001" |
| HTTPS 反向代理 | 配合 Traefik/Nginx | labels:- traefik.enable=true- traefik.http.routers.dockge.rule=Host(\"dockge.example.com\") |
Tip:在生产环境中,建议将 Dockge 部署在内部网络或通过 VPN 访问,并使用 HTTPS。
🔧 故障排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
docker compose up -d 失败 |
镜像拉取失败 | 检查网络,使用 docker pull louislam/dockge:1 |
| UI 访问报 502 | Docker API 权限不足 | 确认 privileged: true 并且 /var/run/docker.sock 可读写 |
| 端口冲突 | 5001 已被占用 | 修改 ports 或停止冲突进程 |
| 数据丢失 | 未挂载卷 | 确认 ./data 与 dockge_stacks 挂载正确 |
📈 进阶:在 Dockge UI 创建其它栈
- 登录 Dockge UI
- 点击 “Create New Stack”
- 直接粘贴
docker-compose.yml或上传文件 - Deploy → 容器即刻启动
所有栈文件会自动保存在
/home/compose/dockge/dockge_stacks,你可以随时通过 Docker‑Compose CLI 直接管理。
🎉 结语
- Dockge 让 Docker Compose 的使用从命令行变成可视化管理,极大降低运维门槛。
- 本教程采用最简洁的
docker-compose.yml,便于你快速上手。 - 你可以根据自己的需求进一步自定义端口、挂载路径或安全策略。
祝你部署愉快 🚀
如有任何问题,欢迎在 GitHub Issues 或社区论坛提问!