【问题标题】:Python Virtualenv HTTP Server With Docker带有 Docker 的 Python Virtualenv HTTP 服务器
【发布时间】:2021-01-30 11:04:04
【问题描述】:

尝试托管 python http 服务器并且工作正常。

FROM python:latest
COPY index.html /
CMD python3 -m http.server

但是在尝试使用 python virtualenv 时,遇到了问题。

FROM python:3
COPY index.html .
RUN pip install virtualenv
RUN virtualenv --python="python3" .virtualenv
RUN .virtualenv/bin/pip install boto3
RUN python3 -m http.server &
CMD ["/bin/bash"]

请帮忙。

【问题讨论】:

  • 请发布完整的错误,以便其他人可以帮助解决问题
  • http 服务器未启动,在日志中找不到任何内容。

标签: python python-3.x docker dockerfile virtualenv


【解决方案1】:

我只想指出,在 docker 容器中使用 virtualenv 可能是多余的。

使用 docker,您可以封装一个特定的应用程序及其依赖项(在您的情况下为库、框架、boto3),而不是在您的本地计算机上,您可能有多个正在开发的应用程序,每个应用程序具有不同的依赖项。

因此,我建议再次考虑 docker 中 virtualenv 的必要性。

二、运行命令:

RUN python3 -m http.server &

在后台也是不好的做法。您想在前台使用CMD 命令运行它,因此它将作为第一个进程(PID 1)运行。然后它会接收到所有 docker 信号,并随着容器启动自动启动:

CMD ["virtualenv/bin/python3", "-m", "http.server"]

【讨论】:

    猜你喜欢
    • 2019-09-25
    • 1970-01-01
    • 2014-10-24
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    相关资源
    最近更新 更多