使用Docker运行Sail安装Laravel时遇Errno 13权限拒绝错误求助
解决Laravel Sail构建时python3.10-minimal权限错误
错误信息
#0 129.7 [Errno 13] Permission denied: '/usr/lib/python3.10/__pycache__/__future__.cpython-310.pyc.139841984059904'dpkg: error processing package python3.10-minimal (--configure): #0 129.7 installed python3.10-minimal package post-installation script subprocess returned error exit status 1 #0 129.8 Errors were encountered while processing: #0 129.8 python3.10-minimal #0 129.8 E: Sub-process /usr/bin/dpkg returned an error code (1)
可行解决方案
清理Docker缓存后重新构建
旧缓存层可能残留异常权限,执行以下命令清理后重新构建:docker system prune -a sail up --build在Dockerfile中预修复权限
如果使用自定义Dockerfile,在安装python相关包的步骤前添加权限修复命令:RUN chmod -R 755 /usr/lib/python3.10/__pycache__/ && \ chown -R root:root /usr/lib/python3.10/__pycache__/确保dpkg配置前目录权限正确。
禁用Python字节码缓存(应急方案)
构建时通过环境变量阻止Python生成.pyc文件,绕开缓存目录权限问题:PYTHONDONTWRITEBYTECODE=1 sail up --build调整容器运行用户权限
如果使用非root用户运行容器,在构建阶段切换到root完成python包安装,再切换回普通用户:USER root # 执行python包安装/配置命令 RUN apt-get install -y python3.10-minimal USER sail # 切换回Laravel Sail默认用户
内容的提问来源于stack exchange,提问作者Seba
相关产品推荐
相关产品推荐

