Ubuntu Docker 具有最少单声道图像 运行 时间以便 运行 F# 应用程序
Ubuntu Docker image with minimal mono runtime in order to run F# app
我需要构建一个仅包含单声道运行时的 "slim" docker 映像,以便执行预编译的 F# 应用程序。换句话说,我想创建最精简的图像来执行单声道应用程序,而不需要 compiling/building 应用程序的任何额外内容。我使用 Ubuntu:16.04 作为我的基本图像(大约 47MB)。
如果我尝试在该映像之上安装单声道(使用 apt-get install mono-devel),则该映像会增长到高达 500MB。这当然会发生,因为安装了整个单声道开发工具。
我如何继续只创建包含单声道运行时的图像?有没有办法通过 apt-get 安装单声道运行时?
我正在回答问题:
How can I proceed to only create an image containing the mono runtime?
对此,答案是肯定的。有一个名为 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)。
我需要构建一个仅包含单声道运行时的 "slim" docker 映像,以便执行预编译的 F# 应用程序。换句话说,我想创建最精简的图像来执行单声道应用程序,而不需要 compiling/building 应用程序的任何额外内容。我使用 Ubuntu:16.04 作为我的基本图像(大约 47MB)。
如果我尝试在该映像之上安装单声道(使用 apt-get install mono-devel),则该映像会增长到高达 500MB。这当然会发生,因为安装了整个单声道开发工具。
我如何继续只创建包含单声道运行时的图像?有没有办法通过 apt-get 安装单声道运行时?
我正在回答问题:
How can I proceed to only create an image containing the mono runtime?
对此,答案是肯定的。有一个名为 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)。