我不确定为什么我希望这个工作:
# 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没有安装在容器中。
答案 0 :(得分:5)
每个生成的图片可以使用单个FROM
。
尝试使用node
作为基本映像并安装java。
答案 1 :(得分:4)
您还可以使用filename date id
abc://dev/folder1/date=20200813/id=1 20200813 1
映像,然后安装node
:
default-jre
您可以选择所需的版本:
# Dockerfile
FROM node:latest
RUN apt-get -y install default-jre
答案 2 :(得分:1)
dockerfile中的FROM
只是告诉docker它应该从哪个映像启动配置。您不能简单地将多个图像连接在一起。已经有多个容器映像可用,它们提供预安装的Java 8和节点JS。我不想特别推荐任何图片,但会引导您docker-hub让您自己搜索并使用最符合您需求的容器。
答案 3 :(得分:1)
使用节点的14版本对我来说非常合适:
FROM openjdk:latest
RUN apt-get install -y curl \
&& curl -sL https://deb.nodesource.com/setup_14.x | bash - \
&& apt-get install -y nodejs \
&& curl -L https://www.npmjs.com/install.sh | sh \
RUN npm install -g grunt grunt-cli
答案 4 :(得分:0)
这对我有用:
FROM openjdk:16-slim-buster
RUN apt-get update; apt-get install -y curl \
&& curl -sL https://deb.nodesource.com/setup_14.x | bash - \
&& apt-get install -y nodejs \
&& curl -L https://www.npmjs.com/install.sh | sh