欢迎光临
我们一直在努力

使用 Docker 搭建 Dockge:可视化管理 Docker Compose 项目

1. 项目介绍

在 Linux 服务器上部署 Docker 项目时,我们通常需要通过 SSH 登录服务器,然后进入不同目录维护 compose.yaml,再使用 docker compose up -d、docker compose pull 等命令完成部署和更新。

如果服务器上的 Docker 项目越来越多,这种管理方式就会逐渐变得繁琐。

Dockge 是一款专门围绕 Docker Compose Stack 设计的 Web 管理工具。

通过 Dockge,可以直接在浏览器中完成:

创建 Docker Compose 项目;

编辑 compose.yaml;

启动、停止和重启 Stack;

更新 Docker 镜像;

查看 Compose 执行过程;

管理多个 Compose 项目。

Dockge 的一个特点是仍然保留原来的 Compose 文件结构。

即使以后不再使用 Dockge,保存在服务器中的 compose.yaml 仍然可以继续通过 Docker Compose 命令管理。

因此比较适合:

个人 VPS;

自托管应用服务器;

运行多个 Docker Compose 项目的服务器;

希望减少频繁 SSH 操作的用户;

需要图形化管理 Compose 项目的用户。

2. 相关地址

Dockge GitHub: https://github.com/louislam/dockge

Dockge Compose 配置生成器: https://dockge.kuma.pet

Docker 官网: https://www.docker.com

Dockge 默认 Web 管理端口为 5001。

默认 Stack 目录为:

/opt/stacks

3. 搭建环境

本教程使用 Linux 云服务器进行演示。

建议配置:

CPU:1 核及以上;

内存:1GB 及以上;

硬盘:10GB 及以上;

操作系统:Debian 12、Ubuntu 等主流 Linux 系统;

Docker:20 及以上;

Docker Compose:建议 Compose V2;

Dockge 默认端口:5001。

本次项目推荐使用莱卡云 Linux 云服务器进行搭建,普通入门配置即可运行 Dockge。

真正决定服务器 CPU、内存和磁盘配置的,主要还是后续准备运行多少个 Docker 项目。

查看官网购买链接: https://www.lcayun.com

9折优惠码:bloglcayun

Dockge搭建使用的Linux云服务器环境

4. 搭建视频

本教程视频建议使用 莱卡云 Linux 云服务器进行实机演示。

视频内容包括:

服务器环境确认;

Docker 环境检查;

Dockge 正式部署;

创建管理员账号;

认识 Dockge 管理界面;

创建第一个 Docker Compose Stack;

查看 Stack 运行效果;

常见问题与安全建议。

视频制作完成后,在这里补充哔哩哔哩视频链接。

5. 正式搭建

5.1 安装 Docker 和 Docker Compose

如果服务器还没有安装 Docker,可以先参考之前整理的教程。

安装教程: 服务器上安装docker和docker-compose教程

安装完成以后检查 Docker:

docker --version

检查 Docker Compose:

docker compose version

能够正常显示版本信息即可继续。

Dockge部署前Docker环境检查

5.2 创建 Dockge 目录

Dockge 默认使用 /opt/stacks 保存 Compose Stack。

创建目录:

mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

其中:

/opt/dockge

用于保存 Dockge 自身配置和数据。

/opt/stacks

用于保存后续通过 Dockge 管理的 Docker Compose 项目。

5.3 下载官方 Compose 配置

进入 /opt/dockge 后下载官方配置:

curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

查看配置:

cat compose.yaml

当前官方基础配置核心内容如下:

services:
  dockge:
    image: louislam/dockge:1
    restart: unless-stopped
    ports:
      - 5001:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
      - /opt/stacks:/opt/stacks
    environment:
      - DOCKGE_STACKS_DIR=/opt/stacks

这里几个配置比较重要。

5001:5001

表示 Dockge Web 管理页面使用服务器的 5001 端口。

/var/run/docker.sock:/var/run/docker.sock

用于让 Dockge 与宿主机上的 Docker 服务通信。

./data:/app/data

用于保存 Dockge 自身数据。

/opt/stacks:/opt/stacks

用于保存 Compose Stack。

DOCKGE_STACKS_DIR=/opt/stacks

用于告诉 Dockge Stack 文件保存位置。

Stacks 目录建议使用完整绝对路径,并保持宿主机和容器内部的路径一致。

Dockge Docker

5.4 启动 Dockge

执行:

docker compose up -d

查看运行状态:

docker compose ps

也可以执行:

docker ps

如果 Dockge 容器显示正常运行,就说明已经启动成功。

Dockge容器启动成功

5.5 查看运行日志

查看最近日志:

docker compose logs --tail 100

如果需要持续查看:

docker compose logs -f

退出实时日志:

Ctrl + C

5.6 访问 Dockge 后台

浏览器访问:

http://服务器IP:5001

例如:

http://192.0.2.10:5001

首次进入 Dockge 时,根据页面提示创建管理员账号。

建议使用单独的强密码,不要直接和服务器 SSH 密码使用同一个密码。

Dockge首次访问和管理员初始化

如果后台无法打开,可以先检查:

ss -lntp | grep 5001

再检查 Dockge:

docker compose ps

如果容器正常、端口也已经监听,但公网仍然打不开,就需要继续检查云服务器安全组和 Linux 防火墙。

相关阅读: 云服务器端口不通怎么办?Connection refused 与 timed out 排查教程

6. 认识 Dockge 管理界面

成功进入 Dockge 后,可以看到 Stack 列表以及创建项目的入口。

Dockge 的主要思路是围绕 Docker Compose Stack 管理项目。

常见操作包括:

创建 Stack;

编辑 Compose;

启动 Stack;

停止 Stack;

重新部署;

更新镜像;

查看执行输出;

管理已有项目。

对于经常使用 Docker Compose 的用户来说,可以减少大量重复 SSH 操作。

Dockge Docker Compose管理界面

7. 创建第一个 Docker Compose Stack

为了测试 Dockge 是否能够正常工作,可以创建一个简单的 Nginx 项目。

例如 Stack 名称:

nginx-test

Compose 配置:

services:
  nginx:
    image: nginx:alpine
    restart: unless-stopped
    ports:
      - "8080:80"

保存以后启动 Stack。

启动成功后访问:

http://服务器IP:8080

如果能够正常看到 Nginx 默认页面,就说明 Dockge 已经能够正常创建和管理 Docker Compose 项目。

测试完成以后,可以通过 Dockge 停止并删除这个测试 Stack。

Dockge创建Docker Compose Stack

8. Stack 文件保存在哪里?

Dockge 默认 Stack 目录:

/opt/stacks

例如创建:

nginx-test

通常会保存到:

/opt/stacks/nginx-test/compose.yaml

因此 Dockge 并不会把 Compose 配置锁定在自己的数据库里。

即使以后不使用 Dockge,也仍然可以进入对应目录使用:

docker compose up -d

等命令继续管理项目。

9. 导入已有 Docker Compose 项目

如果服务器之前已经运行了一些 Docker Compose 项目,也可以将它们交给 Dockge 管理。

建议首先备份现有项目。

然后停止原来的 Compose Stack。

创建 Dockge Stack 目录,例如:

mkdir -p /opt/stacks/myapp

将原来的 Compose 文件移动到:

/opt/stacks/myapp/compose.yaml

然后进入 Dockge,在右上角菜单中执行:

Scan Stacks Folder

Dockge 会重新扫描 /opt/stacks。

完成以后,对应项目就可以显示在 Stack 列表中。

正式业务迁移之前建议同时备份:

Compose 文件;

.env;

数据库;

Docker Volume;

绑定挂载目录;

其他持久化文件。

10. Dockge 和 Portainer 有什么区别?

Dockge 和 Portainer 的定位并不完全相同。

Dockge 更专注于:

Docker Compose;

Stack;

Compose 文件编辑;

项目启动和停止;

Compose 项目管理。

Portainer 的功能范围更加广泛,还包括更多容器、网络、镜像等 Docker 资源管理能力。

如果平时大部分项目都是通过:

docker compose up -d

进行部署,Dockge 会比较直观。

如果还需要大量管理单独容器、Docker Network 等资源,可以继续使用 Docker CLI 或 Portainer。

Dockge 和 Portainer 也可以同时运行,只需要避免端口冲突。

11. Docker Socket 有什么作用?

Dockge 的配置中会挂载:

/var/run/docker.sock

Dockge 通过 Docker Socket 与宿主机上的 Docker 服务通信。

因此它才能执行:

启动容器;

停止容器;

创建 Stack;

更新 Compose;

拉取镜像。

Docker Socket 本身拥有较高权限。

因此不要在没有任何访问控制的情况下,长期将 Dockge 管理后台直接暴露到公网。

12. Dockge 5001 端口打不开怎么办?

首先进入 Dockge 目录:

cd /opt/dockge

查看容器:

docker compose ps

查看日志:

docker compose logs --tail 100

检查监听:

ss -lntp | grep 5001

如果:

容器正常;

端口正常监听;

服务器本机可以访问;

但公网无法打开,

建议继续检查:

云服务器安全组;

UFW;

firewalld;

iptables;

nftables;

其他上游网络限制。

13. 给 Dockge 配置域名和 HTTPS

Dockge 默认访问方式:

http://服务器IP:5001

如果准备长期使用,可以配置一个单独域名,例如:

https://dockge.example.com

再使用 Nginx、Caddy 等反向代理到:

127.0.0.1:5001

并配置 HTTPS。

如果 Dockge 只供个人或者团队使用,还可以增加:

固定 IP 白名单;

VPN;

其他身份认证或访问控制。

这样比直接将管理后台完全暴露在公网更加合适。

14. 安全建议

Dockge 可以直接控制 Docker,因此后台权限比较高。

建议至少做到:

使用强密码;

启用 HTTPS;

限制后台访问来源;

不要公开 Dockge 管理账号;

不要公开 Docker Socket;

不要在文章和视频中展示密码、Token、API Key;

不要公开完整 .env;

定期更新 Dockge;

定期备份 Dockge;

定期备份 Docker 项目数据。

15. 更新 Dockge

进入目录:

cd /opt/dockge

拉取最新镜像并重新创建容器:

docker compose pull && docker compose up -d

更新完成以后:

docker compose ps

确认 Dockge 正常运行。

16. 备份 Dockge

按照本文默认目录,需要重点备份:

/opt/dockge/data

以及:

/opt/stacks

可以先停止 Dockge:

cd /opt/dockge
docker compose down

打包备份:

tar -czf dockge-backup.tar.gz /opt/dockge/data /opt/stacks

完成以后重新启动:

docker compose up -d

需要特别注意:

备份 Compose 文件并不等于已经备份所有 Docker 业务数据。

例如:

MySQL;

PostgreSQL;

Redis;

WordPress;

Docker Volume;

绑定挂载目录;

仍然需要根据每个项目的实际情况单独备份。

17. Dockge 适合什么服务器配置?

Dockge 本身比较轻量。

如果只是运行 Dockge 管理面板,普通 Linux VPS 就可以作为入门环境。

例如:

1 核 CPU;

1GB 内存;

10GB 以上磁盘;

即可进行基础使用。

但如果后续还准备运行:

WordPress;

MySQL;

Redis;

服务器监控;

网盘;

影音服务;

多个 Docker 应用;

则应该根据实际容器数量和业务负载选择更高配置。

如果准备搭建自己的 Docker 应用环境,也可以选择莱卡云 Linux 云服务器。

查看官网购买链接: https://www.lcayun.com

18. 总结

Dockge 是一个比较适合 Docker Compose 用户的轻量级可视化管理工具。

它保留了原有 Compose 文件结构,同时把常见的:

创建;

编辑;

启动;

停止;

更新;

等操作集中到 Web 页面中。

本教程的核心部署流程为:

mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
docker compose up -d

部署完成以后访问:

http://服务器IP:5001

即可进入 Dockge。

正式环境中建议进一步配置:

HTTPS;

强密码;

后台访问限制;

数据备份。

同时定期备份 Dockge 数据、Compose Stack 以及实际 Docker 业务数据。

赞(0)
未经允许不得转载:莱卡云 » 使用 Docker 搭建 Dockge:可视化管理 Docker Compose 项目