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

时间:2017-07-01 16:29:07

标签: docker f# mono

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

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

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

1 个答案:

答案 0 :(得分: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

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