Ubuntu Docker图像具有最小的单声道运行时间,以便运行F#app

Big*_*ion 3 mono f# docker

我需要构建一个"苗条"的docker镜像,它只包含单声道运行时,以便执行预编译的F#app.换句话说,我想创建最简洁的图像来执行单声道应用程序,而不需要任何其他用于编译/构建应用程序的东西.我正在使用Ubuntu:16.04作为我的基本图像(重约47MB).

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

如何才能创建包含单声道运行时的图像?有没有办法通过apt-get单声道运行时安装?

And*_*inn 6

我正在回答这个问题:

如何才能创建包含单声道运行时的图像?

为此,答案是肯定的.只有运行时调用的包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
Run Code Online (Sandbox Code Playgroud)

在评论中也提到,有基于Linux的高山一些很小的图像,可能会感兴趣的,如https://hub.docker.com/r/frolvlad/alpine-mono/(这在目前是大约200 MB) .