在这里插入图片描述

经过申诉,目前博客的几个域名都恢复了,时间也延长到了 2033 年,后面还会不会出问题,老苏就不知道了

在这里插入图片描述


什么是 Dockge ?

Dockge 是一款时髦的、易于使用的、响应式的、自托管的 docker-compose.yaml 向导式堆栈管理器,可作为 Portainer 的替代品。使用 Dockge,您可以轻松管理compose.yaml 文件,为所有 Docker 配置需求提供一个集中的管理点。Dockge 提供了包括创建、编辑、启动、停止、重新启动和删除 Docker 配置的选项,为您的 Docker 环境提供全生命周期管理。

DockgeUptime Kuma 的创建者开发,提供了简化的用户体验,您所需的一切都可以在单个页面上方便地获得,一目了然,无需打开多个选项卡来检查日志或管理容器,确保无缝的 Docker 管理体验。

在这里插入图片描述

动图演示

在这里插入图片描述

视频演示

Dockge 功能演示

安装

与容器相关的应用,都需要绑定挂载 /var/run/docker.sock ,包括我们之前安装的 portainerwatchtowerGlancesNetdata 等。

什么是 /var/run/docker.sock ?

/var/run/docker.sockDocker API 的主要入口,简单地说,它是 Docker 守护进程(Docker daemon)默认监听的 Unix 域套接字(Unix domain socket),容器中的进程可以通过它与 Docker 守护进程进行通信。

在这里插入图片描述

图片来自:https://betterprogramming.pub/about-var-run-docker-sock-3bfd276e12fd

但是群晖的 Docker 管理器并不支持挂载 /var/run/docker.sock 文件,所以这次我们需用命令行来安装

docker cli 安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应为 1.2.0

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 dockge 和 子目录
mkdir -p /volume1/docker/dockge/{data,stacks}

# 进入 dockge 目录
cd /volume1/docker/dockge

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name dockge \
   -p 5031:5001 \
   -v /var/run/docker.sock:/var/run/docker.sock \
   -v $(pwd)/stacks:/volume1/docker/dockge/stacks \
   -v $(pwd)/data:/app/data \
   -e DOCKGE_STACKS_DIR=/volume1/docker/dockge/stacks \
   louislam/dockge:latest

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "3.8"
services:
  dockge:
    image: louislam/dockge:latest
    container_name: dockge
    restart: unless-stopped
    ports:
      - 5031:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
      - ./stacks:/volume1/docker/dockge/stackss
    environment:
      - DOCKGE_STACKS_DIR=/volume1/docker/dockge/stacks

然后执行下面的命令

# 新建文件夹 dockge 和 子目录
mkdir -p /volume1/docker/dockge/{data,stacks}

# 进入 dockge 目录
cd /volume1/docker/dockge

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5031 就能看到注册界面

在这里插入图片描述

登录成功后的主界面

在这里插入图片描述

选择已经启动的容器,会显示 这个堆栈不由 Dockge 管理

在这里插入图片描述

docker-compose 安装

针对采用 docker-compose 安装的,如果要管理现有堆栈,需要将 compose 文件移动到 stacks 目录中

【备注】:docker-compose.ymlcompose.yml 是两种常见的文件名,用于 Docker Compose 配置文件。它们在功能和使用上是相同的,只是文件名不同。

  1. 停止你的堆栈
  2. 将您的 compose 文件移至 /opt/stacks/<stackName>/compose.yaml
  3. Dockge 中,单击右上角下拉菜单中的 “扫描堆栈文件夹” 按钮
  4. 现在您应该在列表中看到您的堆栈

look scanned 为例,先停止容器

在这里插入图片描述

然后将 look scanneddocker-compose.yaml 文件复制到 stacks 目录中,并重命名了一下

在这里插入图片描述

开始扫描

在这里插入图片描述

现在就可以编辑、重启、更新、停止或者删除了

在这里插入图片描述

docker cli 安装

Dockge 只显示通过 docker-compose 安装的 stacks,不显示 docker cli 方式安装的容器,你在前面主界面看到启动了 9 个堆栈,退出了 6 个,这和 portainer 中是一致的

在这里插入图片描述

如果想用 Dockge 管理全部的堆栈和容器,就需要用到 docker run ...compose 的转换功能

还是以 look scanned 为例,安装时的 docker cli 命令是这样的

docker run -d \
   --name lookscanned \
   -p 3366:80 \
   wbsu2003/lookscanned

将启动命令复制到文本框中

在这里插入图片描述

转换为Compose格式,给堆栈一个名字

在这里插入图片描述

可以保存

在这里插入图片描述

或者直接部署

在这里插入图片描述

Dockge 会根据堆栈名称创建目录

在这里插入图片描述

虽然 Dockge 确实解决了一些痛点,也可能是习惯使然,暂时还不不打算从 Portainer 切换到 Dockge,但会保持持续关注

参考文档

louislam/dockge: A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager
地址:https://github.com/louislam/dockge

Dockge
地址:https://dockge.kuma.pet/

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐