在docker容器中运行django
我试图做一个在Docker容器中运行的Django应用程序的简单示例。
使用这个图像https://hub.docker.com/_/django/只是为了简单。 不要告诉我,我不应该在生产中使用它:)应用程序是非常简单的,我很好,使用非常基本的Django服务器。
所以, 问题是我试图运行容器图像时,总是得到这个错误
C:\Users\slipo\PycharmProjects\simple_blog>docker run -p 8000:8000 my-blog python: can't open file './manage.py runserver 0.0.0.0:8000 --settings=mysite.settings.prod': [Errno 2] No such file or directory
但是,./ ./manage.py
和mysite.settings.prod
在容器中都存在。
容器创build日志显示文件存在:
Step 7 : RUN ls -a ---> Running in 932ed2ad3e4c . .. .idea Dockerfile blog manage.py mysite requirements.txt templates ---> e7f938c1cbf2 Removing intermediate container 932ed2ad3e4c Step 8 : CMD python ./manage.py runserver 0.0.0.0:8000 --settings=mysite.settings.prod ---> Running in f99bcafbc269 ---> aca534e9ccb6 Removing intermediate container f99bcafbc269 Successfully built aca534e9ccb6
Dockerfile:
FROM django EXPOSE 8000 ADD . /simple_blog WORKDIR /simple_blog RUN pip install -r requirements.txt RUN pip install django-tinymce RUN ls -a CMD [ "python", "./manage.py runserver 0.0.0.0:8000 --settings=mysite.settings.prod" ]
谢谢。
无法打开文件“./manage.py runserver 0.0.0.0:8000 –settings = mysite.settings.prod'
这是告诉你,它是整个string作为一个单一的文件名。
我假设这样的作品:
CMD [ "python", "./manage.py", "runserver", "0.0.0.0:8000", "--settings=mysite.settings.prod" ]
尝试执行此代码。
CMD [ "python", "../manage.py runserver 0.0.0.0:8080 --settings=my_site.settings.prd"