Docker容器上的文件权限

时间:2019-04-22 10:37:13

标签: django docker nginx docker-compose

使用Web表单将文件上传到应用程序目录时,我面临一个非常奇怪的问题。

就后端而言,一切似乎都工作得很好,但是当上传某些扩展名的文件(例如.apk)时,权限设置为 root通常可以访问其他类型的文件(例如images)时,对这些文件的读取访问权限。我不知道扩展名或扩展名是否大(与KBs相比约为15 MB),但似乎在后台进行了某种过滤

更新

有关环境的更多信息

  • nginx容器,用于代理django服务器(gunicorn
  • 部署操作系统为Ubuntu 16.04
  • 该网络应用是Django 2.2项目
  • 问题似乎与文件大小有关,而根本与扩展名无关。
  • 似乎与Django有关,上传完成后,文件已从/tmp目录移到/media目录

1 个答案:

答案 0 :(得分:0)

最后,在 @jsbeckr 的宝贵帮助下,我能够找到一种解决方法。

通过this link,我发现要使用一些方便的配置,因为无法更改在{p> 1上运行docker-compose的用户

# For files
FILE_UPLOAD_PERMISSIONS = 0o644 #or whatever fits to your needs
# For directories
FILE_UPLOAD_DIRECTORY_PERMISSIONS = 0o644
# If you need to switch it from /temp
FILE_UPLOAD_TEMP_DIR = /path/to/dir