Ubuntu Docker 映像具有最少的单声道运行时,以便运行 F# 应用程序



>我需要构建一个仅包含单声道运行时的"瘦"docker 映像,以便执行预编译的 F# 应用程序。换句话说,我想为执行单声道应用程序创建最精简的图像,而无需任何用于编译/构建应用程序的额外内容。我正在使用 Ubuntu:16.04 作为我的基本映像(重量约为 47MB(。

如果我尝试在该映像上安装单声道(使用 apt-get install mono-devel(,那么该映像将增长到 500MB。这当然是因为安装了整个单声道开发工具。

如何继续仅创建包含单声道运行时的映像?有没有办法通过 apt-get 单声道运行时进行安装?

我正在回答这个问题,因为它是这样的:

如何继续仅创建包含单声道运行时的映像?

为此,答案是肯定的。有一个仅用于运行时的包,称为mono-runtime。除此之外,还有一个apt选项可以忽略使用--no-install-recommends安装推荐的软件包(通常是文档和其他运行时可能不需要的东西(。将两者结合起来,我们可以在 Ubuntu 基础上降低到 240 MB 左右:

FROM ubuntu
RUN apt update && apt install -qy --no-install-recommends mono-runtime libfsharp-core4.3-cil

评论中还提到,还有一些基于 Alpine Linux 的最小图像可能会引起人们的兴趣,例如 https://hub.docker.com/r/frolvlad/alpine-mono/(目前约为 200 MB(。

最新更新