Ubuntu22.04下Laravel Sail启动报错(错误码100)求助
解决Laravel Sail构建镜像时Python权限拒绝问题
问题根源
你之前的操作都是修改宿主机的文件权限,但实际权限错误发生在Docker容器内部的镜像构建过程中,宿主机的修改不会影响容器内的文件系统,所以那些操作无效。
解决方案
- 清理Docker构建缓存
旧的构建缓存可能残留了权限异常的文件,执行以下命令清理所有未使用的镜像、容器和缓存:
docker system prune -a
执行时输入y确认清理。
- 强制无缓存重新构建
直接使用--no-cache参数启动Sail,绕过之前的缓存重新构建镜像:
./vendor/bin/sail up --no-cache
- 修改Dockerfile权限配置(如果上述方法无效)
进入项目的docker/[PHP版本]目录(比如默认是docker/8.2),编辑Dockerfile:
- 找到安装
python3.10-minimal的RUN指令,在其前后添加用户切换命令,确保以root权限执行安装:USER root RUN apt-get update && apt-get install -y python3.10-minimal USER www-data - 保存后重新执行
./vendor/bin/sail up
验证
执行构建命令后,观察控制台输出,如果不再出现Permission denied错误,说明问题解决。
内容的提问来源于stack exchange,提问作者Vadim Gerich
相关产品推荐
相关产品推荐

