用Java和Node.js创buildDocker容器

我不知道为什么我期望这个工作:

# Dockerfile FROM node:6 FROM java:8 

但它并没有真正的工作 – 看起来像第一个命令被忽略,第二个命令的作品。

有没有一个简单的方法来在Docker容器中安装Node.js和Java?

最终,我试图解决的问题是,我运行Selenium Webdriver时出现ENOENT错误 –

 [20:38:50] W/start - Selenium Standalone server encountered an error: Error: spawn java ENOENT 

而现在我认为这是因为Java没有安装在容器中。

最好的办法是把java(这是正式弃用,它build议你使用openjdk图像),并安装节点。

所以,开始

 FROM openjdk:latest 

这将使用最新的openjdk图像,这是8u121在这个时候。 然后安装您可能需要的node和其他依赖关系:

 RUN apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_7.x | bash - && apt-get install -y nodejs && curl -L https://www.npmjs.com/install.sh | sh 

之后你可能会想安装一些咕噜声,所以这可能会派上用场。

 RUN npm install -g grunt grunt-cli 

总的来说,你会得到下面的Dockerfile:

 FROM openjdk:latest RUN apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_7.x | bash - && apt-get install -y nodejs && curl -L https://www.npmjs.com/install.sh | sh RUN npm install -g grunt grunt-cli 

dockerfile中的FROM只是告诉docker应该从哪个镜像开始configuration。 你不能简单地连接多个图像。 已经有多个可用的容器镜像提供预装的Java 8和节点JS。 我不想特别推荐任何图片,但会指导您到docker中心 ,让您自己去search并使用最适合您的需求的容器。

您可以使用每个生成图像的单个FROM 。 尝试使用node作为基本的图像,并安装Java。