Skip to content

Docker Compose部署Dockge:一款精致的Docker管理工具

🚀 Docker Compose部署Dockge:一款精致的Docker管理工具


📌 一、Dockge简介

Dockge是一款开源的Docker Compose管理工具,专注于通过Web界面直观管理docker-compose.yml文件。它具有以下核心优势:

  • 交互式编辑器:通过Web界面直接编辑Compose文件,实时生效

  • 容器全生命周期管理:支持启动、停止、重启、删除容器,以及更新Docker镜像

  • 命令转换:将docker run ...命令自动转换为docker-compose.yml文件

  • 多代理支持:统一管理多个Docker主机的堆栈(v1.4.0+)

  • 文件结构友好:Compose文件仍存储在本地,兼容标准docker compose命令

本文基于以下环境验证:

  • Docker版本:≥20.10(推荐使用Docker 28.3.3+)

  • 操作系统:Ubuntu/CentOS等主流Linux发行版


⚙️ 二、部署前准备

  1. 环境检查
    确保Docker及Docker Compose已安装且正常运行:
    bash

    docker --version           # 检查Docker版本
    docker-compose --version   # 检查Docker Compose版本
    systemctl status docker    # 确认Docker服务状态
  1. 创建部署目录
    建议为Dockge创建独立目录,方便管理数据和堆栈文件:
    bash

    mkdir -p /home/compose/dockge && cd /home/compose/dockge

🛠️ 三、配置Docker Compose文件

创建docker-compose.yml文件,内容如下(已优化用户提供的配置):

yaml


services:  
  dockge:  
    image: louislam/dockge:1  
    restart: unless-stopped  
    ports:  
      # Host Port : Container Port  
      - 5001:5001   # 格式:主机端口:容器端口
    volumes:  
      - /var/run/docker.sock:/var/run/docker.sock   # 允许管理Docker
      - ./data:/app/data   # Dockge数据目录
          
      # 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)  
      - /home/compose/dockge/dockge_stacks:/opt/stacks   # 堆栈目录(⚠️必须绝对路径)
      #- ./dockge_stacks:/opt/stacks  
        
    environment:  
      # Tell Dockge where is your stacks directory  
      #- DOCKGE_STACKS_DIR=/home/compose/dockge/dockge_stacks  
      #- DOCKGE_STACKS_DIR=./dockge_stacks  
      - DOCKGE_STACKS_DIR=/opt/stacks  # 堆栈路径(需与volumes右侧路径一致)


    privileged: true  # 授予高级权限(可选,但建议添加)


#主页  https://github.com/louislam/dockge

关键配置说明

  • image: louislam/dockge:1:使用稳定版本镜像

  • volumes

    • docker.sock:使Dockge能够与Docker守护进程通信

    • ./data:/app/data:持久化Dockge配置数据

    • stacks目录:必须使用绝对路径,且左右路径需完全一致

  • environmentDOCKGE_STACKS_DIR需与volumes中定义的容器内路径一致


🚀 四、部署与启动

  1. 拉取镜像并启动服务
    bash

    cd /home/compose/dockge
    docker compose up -d
  1. 验证服务状态
    bash

    docker compose ps     # 查看容器状态
    docker compose logs   # 检查启动日志
当看到`Up`状态和`Welcome to dockge!`日志时,表示部署成功[](https://bbs.huaweicloud.com/blogs/462247)。
  1. 访问Dockge界面
    打开浏览器,访问 http://<服务器IP>:5001
    ⚠️ 首次访问需设置账号/密码,请务必牢记

🖥️ 五、使用Dockge管理服务

  1. 界面概览

    • 左侧:已管理的Compose堆栈列表

    • 中间:容器操作选项(启动、停止、重启等)。

    • 右侧docker-compose.yml文件内容实时显示与编辑

  2. 添加现有堆栈
    将已有的Compose文件放入/home/compose/dockge/dockge_stacks目录,Dockge会自动扫描并加载
    目录结构示例

    text

    /home/compose/dockge/dockge_stacks/
    ├── nginx/
    │   └── docker-compose.yml
    ├── mysql/
    │   └── docker-compose.yml

  1. 创建新堆栈

    • 点击界面中"Create Stack"按钮。

    • 使用交互式编辑器编写Compose文件,或粘贴现有配置

  2. 常用操作

    • 编辑配置:直接修改右侧Compose文件,保存后立即生效

    • 更新镜像:点击"Update"自动拉取最新镜像并重启服务。

    • 终端访问:通过"Terminal"标签页进入容器内部操作


⚠️ 六、安全与注意事项

  1. 路径安全

    • 必须使用绝对路径挂载数据卷,避免数据丢失

    • 示例中/home/compose/dockge/dockge_stacks需根据实际环境调整。

  2. 权限管理

    • privileged: true授予容器高级权限,必要时可移除。

    • 若需私有仓库认证,可取消注释/root/.docker挂载

  3. 数据备份

    • 定期备份./data目录(Dockge配置)和dockge_stacks目录(堆栈文件)。

    • 避免通过Dockge删除堆栈,否则会同时删除对应目录下的所有文件

  4. 网络与防火墙

    • 若无法访问,检查服务器安全组是否开放5001端口。

    • 生产环境建议通过Nginx反向代理并配置SSL加密


❓ 七、常见问题排查

问题现象 解决方法
端口冲突 修改ports- 5002:5001,使用其他主机端口
堆栈未显示 检查DOCKGE_STACKS_DIR环境变量与volumes路径是否一致
权限不足 确认/var/run/docker.sock可访问,或添加user: "0:0"
文件保存失败 检查挂载目录的写权限,避免SELinux限制

💎 结语

Dockge通过直观的Web界面显著简化了Docker Compose管理,特别适合管理多个堆栈的场景。遵循本文的配置与安全建议,您将获得高效且可靠的容器管理体验。如需进一步定制,可参考Dockge官方文档

本文配置已在Ubuntu 24.04 (Docker 28.3.3) 环境下验证,适用于大多数Linux发行版。