python - Dockerfile 未正常运行
问题描述
我有一个用 Flask 编写的 Web 应用程序,它在 localhost 设置中运行良好。现在我想让它在容器中 dockerized 并希望通过 docker 运行它。问题是当我启动 docker 映像时,它的运行方式与 localhost 设置中的运行方式相同。这是我的 Dockerfile
FROM python:3.8-slim-buster
RUN mkdir -p /home/app
#Setting up virtual environment
ENV VIRTUAL_ENV=/home/ranji/FlaskApp/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# Install dependencies:
COPY requirements.txt .
RUN /home/ranji/FlaskApp/venv/bin/python3 -m pip install --upgrade pip
RUN pip3 install -r requirements.txt
COPY app.py .
COPY regor_GP_20_v1.pkl .
COPY index.html .
COPY logger.sqlite3 .
# Run the application:
CMD ["python", "app.py"]
我的想法是把它放在一个 docker 容器中,我想从那里运行它。我坚信我错过了一些命令或错误地做某事。任何帮助都是有义务的。 错误 Bash 日志
解决方案
您需要公开一个端口才能访问应用程序。
EXPOSE 7000
CMD ["python", "app.py"]
确保您的 python 应用程序也暴露了 7000 端口
推荐阅读
- java - 为学习算法手动分离数字的最佳方法是什么
- python - 如何在 python 上使用 seleinum 获取页面中的属性?
- ruby-on-rails - 在 Rails 中解析来自 CURL 的 Json 请求
- python - 收到错误“两个形状中的维度 0 必须相等,但为 2 和 1。” 尝试拟合 keras 模型时
- ruby-on-rails - ActiveSupport TimeZone 不返回所有区域
- php - 提交响应时如何避免生成新的随机值?
- asp.net-core - .NET 服务参考发送错误的接受标头(文本/纯文本)
- android - Android 通知媒体样式 - 不必要的按钮可见
- visual-studio-code - 如何更改 VSCode 字体
- android-studio - Android 上的 QApplication,从 JNI 开始,一直到 SEGFAULT