python - 使用 docker 在 heroku 中部署 Django api rest
问题描述
我正在尝试使用 docker 访问我在 Heroku 中发布的 Api rest,并看到 Dynos 正在运行我放入 Dockerfile 中的 gunicorn 命令。我使用的 Dockerfile 是:
FROM ubuntu:18.04
RUN apt update
RUN apt install -y python3 python3-pip
RUN mkdir /opt/app
ENV PYTHONUNBUFFERED 1
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
COPY Ski4All/ /opt/app/
COPY requirements.txt /opt/app/
RUN pip3 install -r /opt/app/requirements.txt
ENV PORT=8000
CMD exec gunicorn Ski4All.wsgi:application — bind 0.0.0.0:$PORT
当我释放时,我通过进入容器heroku run bash -a "name app"
并执行ps aux
我没有看到 api 正在运行。但是如果我在容器中时执行我的 Dockerfile 的命令。
任何想法?
解决方案
@jhaos 提到 gunicorn 在根路径中运行
更改以下内容Dockerfile
RUN mkdir /opt/app to WORKDIR /opt/app
COPY Ski4All/ /opt/app/ to COPY Ski4All .
推荐阅读
- sql - 将以下“RIGHT OUTER JOIN”查询修改或提高效率进入内连接?
- c# - 保存布局到流。错误:找不到部分路径“c:\TreeListLayout\”
- java - 如何动态更改bottomAppBar菜单图标
- xaml - 如何在 xamarin 表单中自动大写键盘/输入
- java - 如何保持硒步保持等待1小时?
- android - 如何限制对cordova android内部存储中的应用程序文件的访问?
- laravel - 无法打开流:没有这样的文件或目录(Laravel)
- reactjs - 使用功能组件时使用大括号与圆括号制作组件
- javascript - 使用在单个表单中发布不同的数据
- docker - dotnet restore 在 1 wifi 上的 docker 中失败,其他还好