首页 > 解决方案 > 使用基本映像和使用 apt 有什么区别?

问题描述

我已经阅读了这个问题,并且我知道您需要某种基础来构建您的 docker 映像。但是,我仍然看不到像python这样的 docker 图像的目的。

为什么我需要这个:

FROM python:latest

当我能做到这一点时:

FROM ubuntu
RUN apt install python3

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

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

标签: pythondockerapachedockerfile

解决方案


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

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

您从使用pythonapache2作为基础获得的是能够在发布后仅用一行代码选择您需要的版本。

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

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


推荐阅读