经过申诉,目前博客的几个域名都恢复了,时间也延长到了 2033
年,后面还会不会出问题,老苏就不知道了
什么是 Dockge ?
Dockge
是一款时髦的、易于使用的、响应式的、自托管的docker-compose.yaml
向导式堆栈管理器,可作为Portainer
的替代品。使用Dockge
,您可以轻松管理compose.yaml
文件,为所有Docker
配置需求提供一个集中的管理点。Dockge
提供了包括创建、编辑、启动、停止、重新启动和删除Docker
配置的选项,为您的Docker
环境提供全生命周期管理。
Dockge
由 Uptime Kuma
的创建者开发,提供了简化的用户体验,您所需的一切都可以在单个页面上方便地获得,一目了然,无需打开多个选项卡来检查日志或管理容器,确保无缝的 Docker
管理体验。
动图演示
视频演示
Dockge 功能演示
安装
与容器相关的应用,都需要绑定挂载 /var/run/docker.sock
,包括我们之前安装的 portainer
、watchtower
,Glances
,Netdata
等。
什么是 /var/run/docker.sock
?
/var/run/docker.sock
是Docker 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.yml
和compose.yml
是两种常见的文件名,用于Docker Compose
配置文件。它们在功能和使用上是相同的,只是文件名不同。
- 停止你的堆栈
- 将您的
compose
文件移至/opt/stacks/<stackName>/compose.yaml
- 在
Dockge
中,单击右上角下拉菜单中的“扫描堆栈文件夹”
按钮 - 现在您应该在列表中看到您的堆栈
以 look scanned
为例,先停止容器
然后将 look scanned
的 docker-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/