python - 如何使用 Python3.7 和 Pipenv 为 Flask 应用程序运行 Docker 容器?

标签 python docker flask

我的 Dockerfile 是:


FROM ubuntu:18.04
RUN apt-get -y update
RUN apt-get install -y software-properties-common
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get update -y
RUN apt-get install -y python3.7 build-essential python3-pip
ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
RUN pip3 install pipenv
COPY . /app
WORKDIR /app
RUN pipenv install
EXPOSE 5000
CMD ["pipenv", "run", "python3", "application.py"]

当我执行 docker build -t flask-sample:latest . 时,它构建良好(我认为)。

我用 docker run -d -p 5000:5000 flask-sample 运行它,看起来没问题

但是当我转到 http://localhost:5000 时,没有加载任何内容。我做错了什么?

最佳答案

为什么需要虚拟环境?为什么使用 Ubuntu 作为基础层:

一个更简单的方法是:

docker 文件:

FROM python:3
  
WORKDIR /usr/src/

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY app.py .


ENTRYPOINT FLASK_APP=/usr/src/app.py flask run --host=0.0.0.0

您在 requirements.txt 中放入了所需的包(例如 flask)。 构建图像: docker build -t dejdej/flasky:latest .

启动容器: docker run -it -p 5000:5000 dejdej/flasky

如果强制使用虚拟环境,可以试试 静脉:


FROM python:2.7

RUN virtualenv /YOURENV
RUN /YOURENV/bin/pip install flask

CMD ["/YOURENV/bin/python", "application.py"]

关于python - 如何使用 Python3.7 和 Pipenv 为 Flask 应用程序运行 Docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62797343/

相关文章:

amazon-web-services - AWS Codebuild没有传递环境变量?

python - 测试需要 Flask 应用程序或请求上下文的代码

Jquery和Flask : how to understand the 'return false' in form submit function

python - 是否有 `itemgetter` 等效于 `numpy.ndarray` ?

python - 允许 root 以外的用户重新启动 supervisorctl 进程?

asp.net - Windows Docker 镜像无法访问互联网

docker - 禁用Kubelet上的交换

Python- For Loop - 增加列表中每个元组的每个索引位置

python - python 读取以数字结尾的目录中的文件

python - Flask - 如何获取 cookie 过期时间?