我不知道为什么我期望它能起作用:
# 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 (它已被正式弃用,建议你使用openjdk
image)并在其中安装节点。
所以,从
FROM openjdk:latest
这将使用最新的 openjdk 映像,即8u151
此时。然后安装node
以及您可能需要的其他依赖项:
RUN apt-get install -y curl \
&& curl -sL https://deb.nodesource.com/setup_9.x | bash - \
&& apt-get install -y nodejs \
&& curl -L https://www.npmjs.com/install.sh | sh
之后您可能想安装 grunt 之类的东西,所以这也可能会派上用场。
RUN npm install -g grunt grunt-cli
您总共将获得以下 Dockerfile:
FROM openjdk:latest
RUN apt-get install -y curl \
&& curl -sL https://deb.nodesource.com/setup_9.x | bash - \
&& apt-get install -y nodejs \
&& curl -L https://www.npmjs.com/install.sh | sh \
RUN npm install -g grunt grunt-cli
您可以从我的 gitlab 存储库克隆 Dockerfilehere https://gitlab.com/flexbox/docker/java-nodejs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)