作者:琳宝灬幸福 | 来源:互联网 | 2023-02-04 20:04
我不确定为什么我期望这个工作:
# 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没有安装在容器中.
1> Alex Karshin..:
最好的方法是使用java(已正式弃用并建议您使用openjdk
图像)并在其中安装节点.
所以,先从
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回购克隆Dockerfile 这里
最新版本的“ openjdk:latest”映像使用Oracle Linux(基于Red Hat的发行版)作为基础,而不是Debian。这意味着“ apt”不再可用,而需要使用“ yum”。
2> Max Farsikov..:
FROM
每个生成的图像可以使用一个。尝试node
用作基本映像并将Java安装到它。