【问题标题】:Django web app Docker - unable to connectDjango Web 应用程序 Docker - 无法连接
【发布时间】:2020-04-23 12:47:57
【问题描述】:

我是 Django 和 Docker 的新手,我在输入站点 localhost:8000 时遇到问题。 我构建了 django 应用程序,它在我的本地服务器上运行,但我想对我的应用程序进行 docker 化。所以我创建了两个文件: Dockerfile:

RUN python:3.6.7-alpine
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD ./ /code/
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

和 docker-compose.yml

version: '3'

services:
  web:
    build: .
    command: python mysite/manage.py runserver 8000
    ports:
      - "8000:8000"

我的下一步:

docker built --tag django_docker:latest .

和:

docker run django_docker

它是开放服务器,但是当我想从浏览器打开 localhost:8000 时,因为“无法连接”而无法打开

我的错在哪里?

有关 django 应用程序的更多信息:它是 Python Crash Course : Learning_log 书中的项目。我想构建一个图像并将其推送到集线器 docker,但我被卡住了。感谢帮助!

【问题讨论】:

    标签: django docker docker-compose dockerfile


    【解决方案1】:

    您正在使用docker-compose.yml 文件,因此您需要使用 docker-compose 命令来运行它:

    docker-compose up
    

    这就是你所需要的,你可以在官方docs阅读更多。

    要在不使用 docker compose 的情况下运行它,那么您的 docker 命令需要:

    docker run --publish 8000:8000 django_docker
    

    如果你想限制站点只在你的本地主机上可用,那么绑定到127.0.0.1:

    docker run --publish 127.0.0.1:8000:8000 django_docker
    

    【讨论】:

      【解决方案2】:

      试试这些

      更新 dockerfile

      # Pull base image
      FROM python:3.7
      
      # Set environment variables
      ENV PYTHONDONTWRITEBYTECODE 1
      ENV PYTHONUNBUFFERED 1
      
      # Set work directory
      WORKDIR /code
      
      # Install dependencies
      COPY Pipfile Pipfile.lock /code/
      RUN pip install pipenv && pipenv install --system
      
      # Copy project
      COPY . /code/
      

      更新 docker-compose.yml

      version: '3.7'
      
      services:
        web:
          build: .
          command: python /code/manage.py runserver 0.0.0.0:8000
          volumes:
            - .:/code
          ports:
            - 8000:8000
      

      更新后只需在终端中运行一个命令

      docker-compose up -d --build
      

      停止使用

      docker-compose down
      

      【讨论】:

        猜你喜欢
        • 2021-07-24
        • 1970-01-01
        • 2021-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-24
        • 2019-11-07
        相关资源
        最近更新 更多