尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Ente 自托管启动报 Docker daemon socket permission denied 怎么解决

Ente 自托管启动报 Docker daemon socket permission denied 怎么解决 Ente 自托管启动报 Docker daemon socket permission denied 怎么解决【免费下载链接】ente End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente在用 Ente 自托管功能启动集群时无论是跑 quickstart 脚本还是在server/config目录下用 Docker Compose 从源码启动如果你看到类似下面的报错permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock说明当前执行命令的用户没有权限访问 Docker daemon。Ente 的官方文档把这个问题单列在 Docker 相关错误排查 中并把它归因为权限问题而非 Ente 配置问题。这篇文章给出错误的定位方法、两条文档支持的解决路径以及修改后的验证方式。适用前提按 自托管要求 核对以下几点它们直接决定下面步骤能否走通操作系统建议为 Ubuntu 或 Debian文档指出非 Linux 系统在 Docker 上的体验和排错都更差。已安装 Docker并且运行命令的用户必须有权访问 Docker daemon——这是 Ente 在要求文档中明确列出的前置条件也是本次报错的根因所在。Ente 要求 Docker Compose 版本 2.30 或更高且只支持docker compose命令形式不再支持docker-compose。集群本身要求最低 1 GB RAM、1 个 CPU 核心并使用支持用户/组权限的 Unix 文件系统如 ZFS、EXT4、BTRFS这是使用 PostgreSQL 容器时的要求。确认这就是当前报错先对照报错文本。Ente 文档给出的示例原文示例输出是permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock只要你在docker compose up或 quickstart 脚本启动容器的阶段看到 permission denied 且指向unix:///var/run/docker.sock就是执行命令的用户缺少 Docker daemon 访问权限。注意与同一排查文档中的其他启动错误区分开validating compose.yaml: services.minio Additional property post_start is not allowed这是 Compose 版本过低 2.30.0导致的升级 Docker Compose 即可与权限无关。services.postgres.healthcheck Additional property start_interval is not allowed同样是 Compose 版本问题。panic: pq: password authentication failed for user pguserPostgres 认证失败多为陈旧 volume 或.env与museum.yaml凭据不一致也不是本次问题。解决路径一授予当前用户 Docker daemon 访问权限推荐Ente 的文档对该错误的处理方式是让执行命令的用户获得访问 Docker daemon 的权限并指向 Docker 官方的 Linux 安装后步骤Linux post-installation steps文档去完成授权操作。要求文档 中的表述是The user running the commands must have permission to access the Docker daemon.按 Docker 官方安装后步骤完成授权后重新登录或重启会话使权限生效再以该用户身份执行 Compose 命令即可无需再使用sudo。解决路径二改用 sudo 执行 Compose 命令文档中实际使用的形式如果暂时不方便调整用户权限Ente 仓库内的多处文档本身就是带sudo使用 Compose 命令的例如 post-install 文档 中查看集群日志用的是sudo docker compose logs因此也可以把启动集群的命令改为带sudo的形式。根据你使用的启动方式进入对应的集群目录quickstart 脚本方式脚本会在当前工作目录创建my-ente目录集群的 Compose 文件在其中quickstart 文档 及 troubleshooting 文档 中的docker compose down --volumes等操作均以my-ente目录为工作目录。从源码 Compose 方式进入仓库的server/config目录compose 文档 的启动步骤。然后执行sudo docker compose up注意以sudo方式启动时后续的日志查看、重启等 Compose 命令也应保持一致同样带sudo否则会出现部分命令能连上 daemon、部分命令报 permission denied 的混乱状态。验证修复是否生效Ente 的 troubleshooting 文档 顶部明确要求对compose.yaml/museum.yaml或运行身份做出变更后重启集群使变更生效docker compose down docker compose up若采用 sudo 路径这两条同样加sudo执行。判断成功的依据容器正常拉起不再出现permission denied ... docker.sock报错。可用sudo docker compose logs查看各服务日志确认 museum 等服务没有再退出。打开 Ente Photos 页面quickstart 集群对应http://localhost:3000或http://machine-ip:3000公开相册链接由 Albums 应用在http://localhost:3002提供。能访问到页面即说明集群已正常运行。边界说明权限问题只影响能否连接 Docker daemon这一层Ente 自身的配置.env、museum.yaml中的数据库与对象存储凭据等不需要为此改动若修完权限后出现的是password authentication failed一类报错属于另一类问题参见 troubleshooting 文档 中 Postgres authentication failed 一节。如果你在用 Compose 从源码运行且之后要更换.env或museum.yaml中的凭据注意文档提示server/config下的.env与museum.yaml中的凭据必须一致否则会出现数据库认证失败。需要删除陈旧 volume如docker compose down --volumes的操作会删除其中数据Ente 文档对此明确警示仅在你确认问题根源后执行。【免费下载链接】ente End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表