环境信息 (Environment)
- 操作系统: Ubuntu Server (x86_64)
- Docker 版本: 24.x / 27.x (通过
/usr/bin/docker 运行,非 Snap 版本)
- 镜像版本:
6053537/portainer-ce:latest (或具体版本号,如 2.33.3)
- 部署方式: Docker Compose
问题描述 (Description)
在 Ubuntu 环境下使用该汉化镜像时,无法连接宿主机的 Docker 端点。即使宿主机的 /var/run/docker.sock 权限已设置为 666,且容器以 privileged: true 和 user: "0:0" 运行,Portainer 依然报错:
Failed loading environment: The environment named local is unreachable.
复现步骤 (Steps to Reproduce)
- 使用
docker-compose 部署镜像 6053537/portainer-ce:latest。
- 挂载卷
- /var/run/docker.sock:/var/run/docker.sock。
- 启动并进入初始化页面。
- 点击 "Get Started" 或手动添加本地环境,系统提示
unreachable。
- 查看日志,发现存在多次环境迁移记录(如:
Executing post init migration for environment 3),即便删除了宿主机挂载的 data 目录,问题依然存在。
诊断信息 (Diagnostic Info)
- 宿主机 Socket 状态:
srw-rw-rw- 1 root docker 0 Jan 5 12:40 /var/run/docker.sock
- Docker Context:
NAME DOCKER ENDPOINT ERROR
default * unix:///var/run/docker.sock
- 容器日志:
日志显示 HTTP/HTTPS 服务启动正常,但在初始化环境探测阶段失败。
预期结果 (Expected Behavior)
Portainer 应该能够正常通过挂载的 Socket 文件识别并连接到本地 Docker 引擎。
实际结果 (Actual Behavior)
无法连接。在相同的配置和环境下,切换回官方镜像 portainer/portainer-ce:latest 后问题立即消失,环境连接正常。
可能的原因分析 (Possible Cause)
疑似该镜像在处理初始化环境检测的逻辑中,对 docker.sock 的探测脚本或内部数据库(boltdb)的初始化默认值存在偏移,导致即便权限正确也无法完成握手。
环境信息 (Environment)
/usr/bin/docker运行,非 Snap 版本)6053537/portainer-ce:latest(或具体版本号,如 2.33.3)问题描述 (Description)
在 Ubuntu 环境下使用该汉化镜像时,无法连接宿主机的 Docker 端点。即使宿主机的
/var/run/docker.sock权限已设置为666,且容器以privileged: true和user: "0:0"运行,Portainer 依然报错:Failed loading environment: The environment named local is unreachable.复现步骤 (Steps to Reproduce)
docker-compose部署镜像6053537/portainer-ce:latest。- /var/run/docker.sock:/var/run/docker.sock。unreachable。Executing post init migration for environment 3),即便删除了宿主机挂载的data目录,问题依然存在。诊断信息 (Diagnostic Info)
NAME DOCKER ENDPOINT ERROR default * unix:///var/run/docker.sock日志显示 HTTP/HTTPS 服务启动正常,但在初始化环境探测阶段失败。
预期结果 (Expected Behavior)
Portainer 应该能够正常通过挂载的 Socket 文件识别并连接到本地 Docker 引擎。
实际结果 (Actual Behavior)
无法连接。在相同的配置和环境下,切换回官方镜像
portainer/portainer-ce:latest后问题立即消失,环境连接正常。可能的原因分析 (Possible Cause)
疑似该镜像在处理初始化环境检测的逻辑中,对
docker.sock的探测脚本或内部数据库(boltdb)的初始化默认值存在偏移,导致即便权限正确也无法完成握手。