使用Docker部署Docker Compose文件管理工具Dockge

使用Docker部署Docker Compose文件管理工具Dockge

  • 一、Dockge介绍
    • [1.1 Dockge简介](#1.1 Dockge简介)
    • [1.2 Dockge功能](#1.2 Dockge功能)
  • 二、本次实践规划
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、部署Dockge应用
    • [4.1 下载Dockge镜像](#4.1 下载Dockge镜像)
    • [4.2 创建部署目录](#4.2 创建部署目录)
    • [4.3 编辑docker-compose.yaml文件](#4.3 编辑docker-compose.yaml文件)
    • [4.4 创建Dockge容器](#4.4 创建Dockge容器)
    • [4.5 查看Dockge容器状态](#4.5 查看Dockge容器状态)
    • [4.6 查看Dockge容器日志](#4.6 查看Dockge容器日志)
  • 五、访问Dockge服务
    • [5.1 访问Dockge初始页](#5.1 访问Dockge初始页)
    • [5.2 创建管理账号](#5.2 创建管理账号)
    • [5.3 访问Dockge首页](#5.3 访问Dockge首页)
  • 六、Dockge基本使用
    • [6.1 管理现有容器项目](#6.1 管理现有容器项目)
    • [6.2 重新启动容器](#6.2 重新启动容器)
  • 七、总结

一、Dockge介绍

1.1 Dockge简介

Dockge 是一款设计精美、易于使用的自托管 Docker Compose.yaml 文件管理器,专注于为用户提供流畅的使用体验。它不仅支持创建、编辑、启动、停止、重启和删除 Compose.yaml 文件,还可以方便地更新 Docker 镜像,并通过交互式编辑器和网页终端增强操作便利性。Dockge 的一大特色是支持多代理管理,允许用户在一个统一的界面上操作来自不同 Docker 宿主机的多个堆栈。。

1.2 Dockge功能

  • 🧑‍💼 管理 Compose.yaml 文件:支持创建、编辑、启动、停止、重启和删除 Compose.yaml 文件,同时还能更新 Docker 镜像。
  • ⌨️ 交互式 Compose.yaml 编辑器:提供直观的编辑体验,方便用户调整配置。
  • 🦦 交互式网页终端:无需离开浏览器即可执行命令行操作。
  • 🕷️ 多代理支持(1.4.0新版特性):允许用户在一个统一的界面中管理来自不同 Docker 主机的多个堆栈。
  • 🏪 docker run ... 命令转换为 Compose.yaml:简化从单一容器到多容器编排的过渡。
  • 📙 基于文件的结构 :Dockge 不会干扰您的现有文件结构,Compose.yaml 文件将继续以常规方式存储在本地,支持使用标准的 docker compose 命令进行交互。
  • 🚄 响应式设计:所有操作都具有实时反馈,包括进度指示和终端输出。
  • 🐣 精美且易于使用的界面:继承了 Uptime Kuma 的设计哲学,为用户带来流畅且直观的操作体验。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

hostname IP地址 操作系统版本 Docker版本 部署项目
jeven01 192.168.3.88 Ubuntu 24.04.2 LTS 28.3.3 Dockge

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署具Dockge管理工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

bash 复制代码
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-09-02 11:41:03 UTC; 27s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 782009 (dockerd)
      Tasks: 19
     Memory: 96.5M (peak: 105.5M)
        CPU: 1.750s
     CGroup: /system.slice/docker.service
             └─782009 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

bash 复制代码
root@jeven:~# docker -v
Docker version 28.3.3, build 980b856

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

bash 复制代码
root@jeven:~# docker -v
Docker version 28.3.3, build 980b856

四、部署Dockge应用

4.1 下载Dockge镜像

执行以下命令,拉取Dockge镜像louislam/dockge:1.5.0

bash 复制代码
docker pull louislam/dockge:1.5.0

4.2 创建部署目录

  • 创建项目部署目录/data/dockge/
bash 复制代码
mkdir -p /data/dockge/{data,stacks}  && cd /data/dockge/

4.3 编辑docker-compose.yaml文件

本次使用docker compose方式部署,需要新建及编辑docker-compose.yaml文件。在部署文件中,可以自定义修改宿主机映射端口等信息,注意防止端口冲突。

bash 复制代码
vim docker-compose.yaml
yaml 复制代码
services:
  dockge:
    image: louislam/dockge:1.5.0
    restart: unless-stopped
    ports:
      # Host Port : Container Port
      - 7001:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /data/dockge/data:/app/data
        
      # If you want to use private registries, you need to share the auth file with Dockge:
      # - /root/.docker/:/root/.docker

      # Stacks Directory
      # ⚠️ READ IT CAREFULLY. If you did it wrong, your data could end up writing into a WRONG PATH.
      # ⚠️ 1. FULL path only. No relative path (MUST)
      # ⚠️ 2. Left Stacks Path === Right Stacks Path (MUST)
      - /data/dockge/stacks:/opt/stacks
    environment:
      # Tell Dockge where is your stacks directory
      - DOCKGE_STACKS_DIR=/opt/stacks

4.4 创建Dockge容器

执行以下命令,快速创建Dockge容器。

bash 复制代码
docker compose up -d

4.5 查看Dockge容器状态

检查Dockge容器状态,确保Dockge容器正常启动。

bash 复制代码
root@jeven:/data/dockge# docker compose ps
NAME              IMAGE                   COMMAND                   SERVICE   CREATED          STATUS                    PORTS
dockge-dockge-1   louislam/dockge:1.5.0   "/usr/bin/dumb-init ..."   dockge    33 seconds ago   Up 32 seconds (healthy)   0.0.0.0:7001->5001/tcp, [::]:7001->5001/tcp

4.6 查看Dockge容器日志

检查Dockge容器日志,确保Dockge服务正常运行。

bash 复制代码
root@jeven:/data/dockge#  docker compose logs
dockge-1  | 2025-09-09T15:12:57Z [SERVER] INFO: Welcome to dockge!
dockge-1  | 2025-09-09T15:12:57Z [SERVER] INFO: NODE_ENV: production
dockge-1  | 2025-09-09T15:12:57Z [SERVER] INFO: Server Type: HTTP
dockge-1  | 2025-09-09T15:12:57Z [SERVER] INFO: Data Dir: ./data/
dockge-1  | 2025-09-09T15:12:57Z [DB] WARN: ENOENT: no such file or directory, open 'data/db-config.json'
dockge-1  | 2025-09-09T15:12:57Z [DB] INFO: Database Type: sqlite
dockge-1  | 2025-09-09T15:12:57Z [SERVER] INFO: Connected to the database
dockge-1  | 2025-09-09T15:12:57Z [SERVER] INFO: JWT secret is not found, generate one.
dockge-1  | 2025-09-09T15:12:57Z [SERVER] INFO: Stored JWT secret into database
dockge-1  | 2025-09-09T15:12:57Z [SERVER] INFO: No user, need setup
dockge-1  | 2025-09-09T15:12:57Z [SERVER] INFO: Listening on 5001

五、访问Dockge服务

5.1 访问Dockge初始页

浏览器访问地址:http://弹性公网IP地址:7001,将IP替换为自己服务器IP地址。浏览器打开后,进入Dockge账号注册页。

5.2 创建管理账号

可自定义创建管理账号。如下所示:

5.3 访问Dockge首页

创建管理员账号完毕后,自动跳转到Dockge首页。

六、Dockge基本使用

6.1 管理现有容器项目

例如,本地有部署dokuwiki项目。我们将该部署目录下的所有文件复制到/data/dockge/stacks/dokuwiki目录,包括docker-compose.yaml文件.env环境变量文件。

bash 复制代码
cp  -a /data/dokuwiki /data/dockge/stacks/dokuwiki

点击右上角的账号图标,选择"扫描堆栈文件夹"。

6.2 重新启动容器

在Dockge主页,选择刚才扫描到的dokuwiki堆栈,先需要停止容器,再重新启动容器即可。

可以看到容器都正常运行中,我们可以通过Dockge来管理所有docker compose启动的容器。

七、总结

通过本次实战,我们成功使用 Docker 部署了轻量高效的 Docker Compose 文件管理工具 Dockge。Dockge 以简洁直观的 Web 界面极大简化了容器项目的管理操作,特别适合需要可视化管理多容器应用的用户。其对 docker-compose.yml 文件的实时编辑和一键部署能力,显著提升了运维效率。作为 Portainer 的轻量替代方案,Dockge 是管理 Docker 服务的理想选择,尤其适用于个人开发者和小型团队。

相关推荐
XIAOHEZIcode16 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220701 天前
如何搭建本地yum源(上)
运维
武子康1 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工4 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn864 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
酣大智4 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化