多容器部署django项目 上传图片出现 [Errno 13] Permission denied: ‘/var/www/mysite/media/‘ 解决办法

@

问题原因

首先,这是用docker多容器部署django项目的情况下发现的一个问题,并且我自己同时部署了两个项目,发现读取图片没有问题,只是上传时报错,错误Permission denied,其实就是权限问题,但是直接进入到容器将media文件夹改成所有人可读写一样没有效果。
真正原因是在django项目所在的容器内,没有为www-data用户添加权限。

解决办法

一、进入容器添加权限

  • docker进入容器, docker exec -it 容器名称或者id /bin/bash
  • 找到media文件,输入以下代码
    chgrp -R www-data media/
    chmod -R g+w media/
    

    二、在Dockerfile文件中添加上代码,重新生成镜像并启动容器

    代码一样,就是前面加个RUN就好
    RUN chgrp -R www-data media/
    RUN chmod -R g+w media/
    

以上,解决docker部署django可以读取图片但是上传时遇到权限问题

posted @   leexxx  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示