前言

Docker Compose 是编排容器应用的利器,但依赖命令行管理多个项目非常令人头疼,特别是在多主机环境下,如果没用使用集群(Docker Swarm、k8s),传统命令行方式不仅效率低下,更因分散管理而难以统一监控和操作

Dockge 提供优雅的解决方案: 这款轻量、开源的自托管工具,不仅为单机提供直观的 Web 管理界面,更通过独特的代理模式 (Agent Mode),让您集中管理不同主机上的 Docker Compose 项目

无需分别登录每台服务器,通过 Dockge 即可:

  • 统一管理分布在多台主机上的 Compose 项目栈
  • 集中操作启动、停止、重启、更新
  • 便捷编辑各主机的 compose.yaml 文件
  • 实时查看所有项目的日志与状态

告别分散管理和命令行切换,实现真正的 Docker Compose 集中式运维。本文将带您部署 Dockge 并配置代理模式,解锁跨主机高效管理的新能力。

Dockge项目地址:https://github.com/louislam/dockge.git


1. 创建Dockge工作目录

$ mkdir /data/dockge -p
$ cd /data/dockge

2. 创建docker-compose文件

$ vim docker-compose.yaml
version: "3"
services:
  dockge:
    image: louislam/dockge:1.5.0
    restart: unless-stopped
    ports:
      - 5001:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
      - /data:/data
    environment:
      - DOCKGE_STACKS_DIR=/data
  • 挂载docker.sock使dockge与主机dockerd通信
  • 挂载data目录,用于持久化存储dockge数据
  • 挂载/data目录,所有docker-compose项目都位于/data目录之下
  • 定义DOCKGE_STACKS_DIR为/data目录

3. 创建Dockge容器

$ docker-compose up -d

4. 查看Dockge管理页面

image-20250701144940522

5. 连接远程Dockge(从1.4.0版本开始支持)

在实际应用场景中,我们的应用是分布在多台主机的,在没有使用k8sDocker Swarm的情况下,使用docker-compose部署的方式无法集中管理,Dockge支持通过代理的方式统一管理多个Dockge。

img

  • 在Dockge代理中添加其他Dockge连接信息

image-20250627170015977

文章作者: hzbb
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 运维小记
Docker 云原生
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝