【发布时间】:2021-03-23 23:12:55
【问题描述】:
我有一个 AWS ECS 任务,它运行一个 Django (Python) 应用程序和一个用于静态文件的 Proxy,这两个容器都在 Docker 上运行。
Django 有一个名为collectstatic 的命令,它将所有静态文件复制到将由代理提供服务的共享文件夹中。
我已经运行此设置几个月没有任何问题,但在 2021 年 3 月 17 日左右,我注意到我的部署没有更新我的网站。
查看我的 Django 应用程序日志,我看到了错误:
PermissionError: [Errno 13] Permission denied: '/vol/web/static'
我最近没有进行任何配置更改,经过一周的实验、调试和沮丧后,我注意到我创建此设置所遵循的同一课程中的其他几个人同时开始遇到完全相同的问题(基本上是一周前)。
目前我唯一的猜测是 AWS 本身内部一定发生了一些变化,但我不确定要寻找什么。
任何建议将不胜感激,谢谢!
注意:我确保我的设置可以在本地环境中使用 使用模拟 app-proxy 的 docker-compose 文件进行代理 交互,所以我认为这与我的
settings.py或我的静态文件的配置方式无关。编辑我刚刚了解到 AWS Fargate 从 1.3 更新到 1.4 并且 似乎是导致问题的原因。
【问题讨论】:
-
github.com/aws/containers-roadmap/issues/863 看起来容器文件没有像 1.3 中那样被复制到 1.4 中的卷
标签: django docker amazon-ecs permission-denied aws-fargate