用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。