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

Docker 如何使用linux Alpine并安装ruby 2.1和nodejs v6.9,docker,alpine,Docker,Alpine,我试图创建一个轻量级docker映像,但使用LinuxAlpine安装特定版本似乎会导致许多不同的错误。当前我的工作Dockerfile使用 FROM ruby:2.1.10 RUN apt-get install nodejs=6.11.1 但这会导致1.69GB的大小 我想使用LinuxAlpine并安装Ruby2.1和NodeJS6.9或6.11——我该怎么做 1) 我尝试从ruby:2.1.10-alpine开始,但无法使用6.9安装apk add nodejs 2)

我试图创建一个轻量级docker映像,但使用LinuxAlpine安装特定版本似乎会导致许多不同的错误。当前我的工作Dockerfile使用

   FROM ruby:2.1.10  
   RUN apt-get install nodejs=6.11.1 
但这会导致1.69GB的大小

我想使用LinuxAlpine并安装Ruby2.1和NodeJS6.9或6.11——我该怎么做

1) 我尝试从ruby:2.1.10-alpine开始,但无法使用6.9安装apk add nodejs

2) 还尝试从节点6.11.1-alpine开始安装ruby 2.1

也许从一个空的alpine映像开始,然后安装这两个映像?抱歉,我不熟悉Alpine,在其上安装软件包似乎是特定于Alpine版本的(可能我错了)。

在和的帮助下,是一个dockerfile,在Alpine中安装了ruby和nodejs,大小为130MB

如果您正在构建alpine dockerfile,那么以下准则可能会对您有所帮助:

  • apt get install
    更改为alpine中的
    apk add

  • 添加apk后,您可能希望在添加所有apk后使用&rm-rf/var/lib/apk/*。这将删除缓存的额外文件

  • 使用更少的RUN语句。每个RUN语句将添加一个新层