我正在docker上设置django服务器应用程序。 docker可以很好地运行容器,但是docker无法接收运行django的命令。
我已经看过很少的youtube视频,但没有一个对我有用
Dockerfile
FROM python:3.6-stretch
MAINTAINER ***
ENV PYTHONBUFFERED 1
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
RUN mkdir /specfolder
WORKDIR /specfolder
COPY ./myfolder /specfolder
EXPOSE 8000
CMD ["python", "manage.py runserver"]
我尝试将命令放置在
下的docker-compose.yml文件下commands: sh -c "python manager.py runserver"
但没有一个起作用
docker-compose.yml文件
version: "3"
services:
myapp:
build:
context: .
ports:
- "8000:8000"
volumes:
- ./myfolder:/specfolder
requriements.txt
django==2.2.4
pandas
xlrd
xlsxwriter
到目前为止,在运动学下,我正在使用python shell
Type "help", "copyright", "credits" or "license" for more information.
>>> 2019-08-31T13:34:51.844192800Z Python 3.6.9 (default, Aug 14 2019,
13:02:21)
[GCC 6.3.0 20170516] on linux
无法在浏览器中访问127.0.0.1:8000/myapp/login。
答案 0 :(得分:0)
我在您的实施中看到2个问题。
在Dockerfile
中,您有CMD ["python", "manage.py runserver"]
。应该是CMD ["python", "manage.py", "runserver"]
在撰写文件commands: sh -c "python manager.py runserver"
中应为commands: python manager.py runserver
。
CMD
中删除Dockerfile
答案 1 :(得分:0)
您需要在 runserver 命令中进行更改。 更改为
python manage.py runserver 0.0.0.0:8000
您的Dockerfile就是这样
# other command
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
如果您使用的是Dockerfile或docker-compose,请进行相应的更改。
答案 2 :(得分:0)
https://docs.docker.com/samples/django/。 此链接包含使用 django 的 docker 设置。请在官方文档中查看一次,