安装完毕安装第一个软件就报错!!!

通过官网安装命令,执行完在商店安装openresty 就报错了!放弃了,就没有顺利成功过!!!浪费时间。

反馈问题【BUG】请附带以下信息
1Panel 版本:
操作系统(设备): ubuntu-24.04
关键截图:


社区版 v2.0.12

主机名称: ubt
发行版本: ubuntu-24.04
内核版本: 6.8.0-71-generic
内核版本: x86_64
主机地址: 192.168.2.51
启动时间: 2025-11-14 21:55:28
运行时间: 31分钟 31秒

执行 docker-compose version 看一下版本

Docker Compose version v2.33.1

在应用目录下执行 docker compose up -d

2025/11/26 15:21:46 安装应用 [openresty] 任务开始 [START]

2025/11/26 15:21:46 download app [OpenResty] from https://apps-assets.fit2cloud.com/stable/1panel/openresty/1.27.1.2-2-3-focal/openresty-1.27.1.2-2-3-focal.tar.gz

2025/11/26 15:21:51 开始执行 init 脚本

2025/11/26 15:21:51 执行 init 脚本 成功

2025/11/26 15:22:06 开始拉取镜像 [1panel/openresty:1.27.1.2-2-3-focal]

2025/11/26 15:22:10 镜像拉取成功

2025/11/26 15:22:10 启动 应用

2025/11/26 15:22:10 启动 应用 失败 : stderr: open /opt/1panel/apps/openresty/openresty/docker-compose.yml: no such file or directory

, err: exit status 1

2025/11/26 15:22:10 安装应用 [openresty] 失败: stderr: open /opt/1panel/apps/openresty/openresty/docker-compose.yml: no such file or directory

, err: exit status 1

2025/11/26 15:22:11 [TASK-END]

root@ubt:~# docker --version
Docker version 28.1.1+1, build 068a01e
root@ubt:~# docker-compose --version
Docker Compose version v2.33.1
root@ubt:~# docker compose version
Docker Compose version v2.33.1

以下内容是AI给出的分析。重新安装docker问题解决。

你遇到了一个非常典型的问题:

open /var/lib/snapd/void/docker-compose.yml: no such file or directory

但你在运行:

docker compose -f ./docker-compose.yml up -d

文件明明存在(ll 确认过),却报错读取了一个 完全不相关的路径/var/lib/snapd/void/docker-compose.yml


:white_check_mark: 结论先行

:fire: 你安装的 Docker 是通过 Snap 安装的!
这导致了严重的路径隔离问题:Snap 版 Docker 无法访问 /opt/home 等外部路径,会出现“空洞(void)”重定向行为。


:mag: 根本原因分析

:x: Snap 安装的 Docker 有严重缺陷:

  • Snap 是沙盒机制,Docker 被限制在封闭环境中
  • 当你尝试访问某些“不可信路径”时,Snap 会将文件路径重定向到 /var/lib/snapd/void/
  • 所以:
    -f ./docker-compose.yml
    
    实际被映射成:
    /var/lib/snapd/void/docker-compose.yml (根本不存在)
    

:point_right: 这就是为什么提示这个诡异路径。


:white_check_mark: 如何验证?

运行:

which docker

如果输出:

/snap/bin/docker

或者:

docker version --format '{{.Client.Version}}'
# 输出包含 "snap"

:arrow_right: 说明你是 Snap 安装的 Docker,这是问题根源!


:white_check_mark: 解决方案:卸载 Snap Docker,改用官方 APT 安装

步骤 1:卸载 Snap 版 Docker

sudo snap remove docker

:warning: 这会删除所有容器、镜像、卷!请提前备份重要数据(或确认无关键服务)。


步骤 2:安装官方 Docker(推荐方式)

# 1. 安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg

# 2. 添加官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 3. 添加仓库源
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4. 更新并安装
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 5. 添加当前用户到 docker 组(可选)
sudo usermod -aG docker $USER

重启终端或执行 newgrp docker 生效。


步骤 3:验证安装

docker --version
docker compose version
which docker

:white_check_mark: 正常输出应为:

Docker version 28.1.1, build abcdefg
Docker Compose version v2.33.1
/usr/bin/docker

不再是 /snap/bin/docker


步骤 4:现在可以正常运行你的命令

cd /opt/1panel/apps/openresty/openresty
docker compose -f docker-compose.yml up -d

:white_check_mark: 应该能成功启动。


:hammer_and_wrench: 替代方案(临时绕过,不推荐)

如果你暂时不想重装,可以:

# 复制文件到 /tmp(Snap 允许访问)
cp /opt/1panel/apps/openresty/openresty/docker-compose.yml /tmp/
cd /tmp
docker compose -f docker-compose.yml up -d

但依然受限于 Snap 的稳定性问题,长期使用风险高。


:white_check_mark: 总结

问题 原因 解决
open /var/lib/snapd/void/docker-compose.yml Snap 沙盒限制导致路径映射错误 卸载 Snap Docker
文件存在却读不到 Snap 无法访问 /opt 目录 改用 APT 安装
docker compose 不工作 Snap 插件机制异常 使用官方插件

:white_check_mark: 推荐命令(一键修复)

# 卸载 Snap Docker
sudo snap remove docker

# 安装官方 Docker
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

完成后,再运行:

cd /opt/1panel/apps/openresty/openresty
docker compose -f docker-compose.yml up -d

:white_check_mark: 必然成功。


需要我帮你写一个脚本自动迁移并启动 OpenResty 吗?可以包括备份、重装、恢复等步骤。