我正在尝试使用我的应用程序创建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
答案 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我想