Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在docker上运行django_Django_Docker_Docker Compose_Dockerfile - Fatal编程技术网

无法在docker上运行django

无法在docker上运行django,django,docker,docker-compose,dockerfile,Django,Docker,Docker Compose,Dockerfile,我正在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 R

我正在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
requirements.txt

django==2.2.4
pandas
xlrd
xlsxwriter
现在在运动学下,我得到了python外壳

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。

我发现您的实现中存在两个问题

  • Dockerfile
    中,您有,
    CMD[“python”,“manage.py runserver”]
    。它应该是
    CMD[“python”、“manage.py”、“runserver”]

  • 在compose文件
    中,commands:sh-c“pythonmanager.pyrunserver”
    应该是
    commands:pythonmanager.pyrunserver

  • a。如果使用compose file,则应将
    CMD
    Dockerfile

  • 您需要在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,请相应地进行更改。

    您是如何知道它不起作用的?你看到任何错误消息了吗?仍然没有用,当我访问localhost:8000时,它会显示“无法访问此站点”页面现在我可以运行应用程序,但无法访问它浏览器通过StatReloader执行系统检查来监视文件更改。。。系统检查未发现任何问题(0静音)。您有17个未应用的迁移。您的项目可能无法正常工作,除非您为应用程序(admin、auth、contenttypes、sessions)应用迁移。运行“python manage.py migrate”以应用它们。2019年9月3日-09:02:55 Django版本2.2.4,使用设置“myproject.settings”在启动开发服务器时使用CONTROL-C退出服务器。我已被编写器文件更改为:`version:'3'服务:web:build:。卷:-.:/myproject端口:-“8000:8000”`