python - 使用基础镜像和使用 apt 有什么区别?

标签 python docker apache dockerfile

我已阅读this question我知道你需要某种基础来构建你的 docker 镜像。但是,我仍然不明白像 python 这样的 docker 镜像的用途。 .

为什么我需要这个:

FROM python:latest

当我可以做到这一点时:

FROM ubuntu
RUN apt install python3

假设我想运行一个容器,其中使用 apache 托管 python 服务器。两者有什么区别

  1. 使用 apache 基础镜像并手动安装 python
  2. 使用 python 基础镜像并手动安装 apache
  3. 使用 ubuntu 基础镜像并手动安装

最佳答案

给定示例中的差异很小,因为最终您将得到相同的结果,但使用略有不同的命令。

当您需要使用最新或特定版本的软件时,情况就会发生变化。标准 Ubuntu 存储库中可能不提供所需的版本,或者可能会延迟发布。

使用 pythonapache2 作为基础,您只需一行代码即可在发布后选择您需要的版本。

更重要的是,可能不需要将 python 和 apache 结合起来。 Docker 容器通常用于托管单个进程,更常见的是在一个容器中使用 Python 后端,在另一个容器中使用 Web 服务器作为代理。

在这种情况下,您根本不关心安装 apache,您只需在运行时将其配置安装到容器中即可。消除 Web 服务器后,您只需关注应用程序及其依赖项,因此最终您将拥有更少的代码并更轻松地维护它。

关于python - 使用基础镜像和使用 apt 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66089210/

相关文章:

ssl - 具有多个域的通配符 SSL

apache - 我想知道如何在 apache tomcat 中部署 war 文件并使其运行

python - 如果我在 Python 字符串中有一个 zipfile 的内容,我可以在不将其写入文件的情况下解压缩它吗?

由列表索引的python数据框

docker 错误 : for nginx Cannot start service nginx: driver failed programming external connectivity on

bash - 抑制或隐藏 Docker "Steps"和控制台中的默认输出

PHP exec 杀死 linux 进程不工作

python - 类型错误 : as_view() takes 1 positional argument but 2 were given

python - 从 csv 中删除一行(Python)

docker - 通过 HTTP API 在 Docker 集线器上列出 Docker 镜像的标签