如何使用Linux Alpine并安装ruby 2.1和nodejs v6.9

我试图创build一个轻量级的docker图像,但使用Linux高山安装特定版本似乎导致许多​​不同的错误。 目前我工作的Dockerfile使用

FROM ruby:2.1.10 RUN apt-get install nodejs=6.11.1 

但是这导致了1.69GB的大小。

我想使用Linux的Alpine和安装ruby2.1和nodejs 6.9或6.11 – 我怎么去解决这个问题

1)我试着从ruby开始:2.1.10-alpine,但不能得到apk添加nodejs来安装6.9

2)也尝试从节点开始:6.11.1 – 高山和安装ruby2.1

也许从一个空的高山图像开始安装? 对不起,我不熟悉阿尔卑斯山和安装包似乎是特定于高山版本(也许我错了)。

在高山节点和ruby高山的帮助下, 这里是一个docker文件,有ruby和nodejs在阿尔卑斯山安装,它是130MB的大小。

如果您正在build造一个高山docker文件,那么这些指南可能对您有所帮助:

  • apt-get install更改为apk add到高山。

  • 添加一个apk之后,你可能想在所有的apk添加之后使用&& rm -rf /var/lib/apk/* 。 这删除了caching的额外文件。

  • 使用更less的RUN语句。 每个RUN语句都会添加一个新层。