我正在尝试将容器中的静态文件共享给主机,以便nginx可以为它们提供服务。这是在使用Docker单容器平台的AWS Elastic beantalk上。
我已验证容器中已生成静态文件,但是在主机目录中找不到这些文件。
否则,该项目可以正常运行,并与eb deploy
一起部署。
有人可以告诉我我哪里出错了吗?谢谢!
Dockerrun.aws.json:
{
"AWSEBDockerrunVersion": "1",
"Volumes": [
{
"HostDirectory": "/var/www/static",
"ContainerDirectory": "/code/my_app/static"
}
]
}
Dockerfile:
FROM python:3.6
ENV PYTHONUNBUFFERED 1
ARG requirements=requirements/production.txt
ENV DJANGO_SETTINGS_MODULE=my_app.settings.production
RUN mkdir /code
WORKDIR /code
COPY requirements/ /code/requirements/
RUN pip install --upgrade pip
RUN pip install -r $requirements
STOPSIGNAL SIGINT
ADD . /code/
EXPOSE 8000
COPY ./entrypoint_prod.sh /
ENTRYPOINT ["/entrypoint_prod.sh"]
entrypoint_prod.sh
python manage.py collectstatic --no-input
gunicorn my_app.wsgi:application --bind 0.0.0.0:8000
python manage.py process_tasks