首页 > 解决方案 > 使用 Docker heroku.yml 在 Heroku 上部署 Django

问题描述

我在本地使用 Docker 进行 Django 开发,并尝试使用 Heroku与 Docker 一起部署。但是我收到了关于“没有运行 Web 进程”的抱怨,也就是没有 Dynos 启动。所以以某种方式错过了这个配置,但在 Heroku 或那里的一些教程上没有提到它。

Dockerfile

FROM python:3.7-slim

# Set environment varibles
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/

heroku.yml

setup:
  addons:
  - plan: heroku-postgresql
build:
  docker:
    web: Dockerfile
run:
  web: python /code/manage.py runserver 0.0.0.0:$PORT

我怀疑问题出在但非常卡住的run部分。heroku.yml

标签: djangodockerheroku

解决方案


所以我想通了。不知何故,在运行时使用heroku stack:set containerheroku-18堆栈,它也自动运行collectstatic。这就是问题所在。


推荐阅读