极空间安装dockge, 摆脱内置docker管理器的束缚
背景
极空间的docker管理器是我最不满意的一个功能, 因为操作不够简便, 同时权限又被限制了一些, 导致很多容器无法安装, 之前我也分享过如何安装数据库的教程:
解决权限问题, 使用极空间部署mariadb https://post.smzdm.com/p/agq0p783/
极空间不允许安装第三方docker管理工具, 尤其我想要使用dockge.
现在我终于安装上dockge了, 迫不及待的分享给大家.
感谢值友koryking分享的portainer入口
破局之法在于今天刷到了值友koryking大佬的文章
进入极空间内置portainer的方法&通过内置的portainer获取ssh权限,适用于所有支持docker的极空间 https://post.smzdm.com/p/aeq4dm0k/
介绍了如何使用portainer的方法, 谁能想到极空间居然会内置一个portainer, 那还不好办嘛.
为方便阅读, 我这里整理了一下步骤3步:
1通过远程访问, 添加一个链接0.0.0.0:9123, 注意不要写成127.0.0.1:9123, 127这个口子已经被封了

2点击创建的链接就可以进入portainer, 账号admin, 密码是md5加密后的内容, 怎么获取呢
进入网址 https://www.jyshare.com/front-end/703/, 输入你的极空间账号(手机号,也可能是手机号+字母, 具体看自己的情况), 获取到密文, 这个就是密码, 账号是admin

3然后进入portainer, 我们进入local, 再进入stacks, 粘贴docker compose脚本

进入stacks, 直接写docker compose脚本.

由于内置的portainer版本较低, compose只能支持version2, 需要自己转一下, 什么不会转, 贴给AI, 让他给你转好, 我这里附上自己调整好的脚本.
version: '2'
services:
dockge:
image: louislam/dockge:1
restart: unless-stopped
ports:
- "5001:5001"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/SATA存储11/dockge/data:/app/data"
- "/SATA存储11/dockge/stacks:/opt/stacks"
environment:
DOCKGE_STACKS_DIR: "/opt/stacks"
注意这里的/SATA存储11/dockge/data是我在硬盘上创建的路径, 硬盘根目录创建dockge文件夹, 再创建子文件夹data(此工具的一些配置)和stacks(以后通过dockge安装的容器将会出现在这里).
不知道创建的文件夹的全路径是多少, 看这里:

总结
通过极空间的docker管理器安装dockge, 运行时总是报错非正常退出, 究其原因是/var/run/docker.sock:/var/run/docker.sock这一行语句我们无法通过极空间的docker管理器添加上(只支持路径), 这个是docker的守护进程, 显然极空间不希望用户直接管理. 但我既然都用docker了怎么可能不用它.
好了, 熟悉的页面回来了, 尽情折腾吧少年

上图可以看到/var/run/docker.sock:/var/run/docker.sock也可以随便绑定了. 感谢您读到最后!
由于我太爱dockge了, 甚至我为它写了一个容器商店方便大家玩转各种镜像, 近期会上线, www.dockgehub.com敬请期待
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

应该随便从系统内置的docker管理器创建一个容器, 绑定一下本地的dockge目录, 创建成功后再回到portainer里就能看到它这个路径实际是什么, 比如我的是/tmp/zfsv3/sata11/极空间账号/data/dockge, 所以对应的docker compose绑定应该是 volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/tmp/zfsv3/sata11/极空间账号/data/dockge/data:/app/data"
- "/tmp/zfsv3/sata11/极空间账号/data/dockge/stacks:/opt/stacks"
这样再创建容器, 从文件管理器就能看到新创建的容器被放到了dockge/stacks文件夹中了
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
应该随便从系统内置的docker管理器创建一个容器, 绑定一下本地的dockge目录, 创建成功后再回到portainer里就能看到它这个路径实际是什么, 比如我的是/tmp/zfsv3/sata11/极空间账号/data/dockge, 所以对应的docker compose绑定应该是 volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/tmp/zfsv3/sata11/极空间账号/data/dockge/data:/app/data"
- "/tmp/zfsv3/sata11/极空间账号/data/dockge/stacks:/opt/stacks"
这样再创建容器, 从文件管理器就能看到新创建的容器被放到了dockge/stacks文件夹中了
校验提示文案