当我启动docker时,Django显示“It working”页面而不是我的项目

时间:2015-06-11 08:45:21

标签: django docker

我正在尝试使用我的应用程序创建docker容器,这在本地计算机和生产服务器上运行良好。但是当我用我的项目创建docker容器时,我只看到“It working”页面而不是我的项目!

FROM python:2.7
MAINTAINER Name name <mail@gmail.com>
ENV PYTHONUNBUFFERED 1
ENV DJANGO_SETTINGS_MODULE lms.settings
RUN ls -la /
RUN mkdir /lms/
WORKDIR /lms/
RUN pip install six Django==1.5.12 numpy python-dateutil Pillow django-colorful gunicorn south djangorestframework djangorestframework-jsonp simplejson psutil
ADD . /lms/
RUN (cd /lms/ && python manage.py syncdb --noinput)
RUN (cd /lms/ && python manage.py collectstatic --noinput)
RUN ls -la /lms/
RUN cd /lms/
CMD gunicorn --env DJANGO_SETTINGS_MODULE=lms.settings lms.wsgi --pythonpath '/lms/' --bind 0.0.0.0:8000

1 个答案:

答案 0 :(得分:1)

您应该像这样修改您的Dockerfile

FROM python:2.7
MAINTAINER Name name <mail@gmail.com>
ENV PYTHONUNBUFFERED 1
ENV DJANGO_SETTINGS_MODULE lms.settings
RUN ls -la /
RUN mkdir /lms
WORKDIR /lms
RUN pip install six Django==1.5.12 numpy python-dateutil Pillow django-colorful gunicorn south djangorestframework djangorestframework-jsonp simplejson psutil
ADD . /lms
RUN python manage.py syncdb --noinput
RUN python manage.py collectstatic --noinput
RUN ls -la 
CMD gunicorn --env DJANGO_SETTINGS_MODULE=lms.settings lms.wsgi --pythonpath '/lms/' --bind 0.0.0.0:8000`  

请参阅WORKDIR的文档 https://docs.docker.com/reference/builder/#workdir

和这个“最佳实践”

https://docs.docker.com/articles/dockerfile_best-practices/

当你RUN cd /lms执行cd并退出时,所以下一个命令不在/ lms中,并且,当你指定WORKDIR时,不要在目录的末尾添加/,因为你有两次WORDKIR,你的默认目录是/ lms / lms我想