使用Java和Node.js创建Docker容器

时间:2017-05-03 20:47:41

标签: java node.js selenium docker dockerfile

我不确定为什么我希望这个工作:

 # 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没有安装在容器中。

5 个答案:

答案 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