极空间安装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敬请期待
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
睡在www的猫
应该随便从系统内置的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文件夹中了
校验提示文案
喜之蓝
校验提示文案
anymango
校验提示文案
ygy2500
校验提示文案
feeafee
校验提示文案
bennyyuan
校验提示文案
隔壁小王的老子
校验提示文案
CWQZZ
校验提示文案
第92號元素
校验提示文案
三十岁后的幸福生活
校验提示文案
anymango
校验提示文案
唯爱你的心如止水
校验提示文案
三十岁后的幸福生活
校验提示文案
anymango
校验提示文案
anymango
校验提示文案
第92號元素
校验提示文案
唯爱你的心如止水
校验提示文案
喜之蓝
校验提示文案
CWQZZ
校验提示文案
隔壁小王的老子
校验提示文案
ygy2500
校验提示文案
bennyyuan
校验提示文案
feeafee
校验提示文案
睡在www的猫
应该随便从系统内置的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文件夹中了
校验提示文案