Ale*_*lls 12 java selenium node.js docker dockerfile
我不确定为什么我期望这个工作:
# Dockerfile
FROM node:6
FROM java:8
Run Code Online (Sandbox Code Playgroud)
但它确实不起作用 - 看起来第一个命令被忽略,第二个命令工作.
有没有一种直接的方法在Docker容器中安装Node.js和Java?
最终我试图解决的问题是我在运行Selenium Webdriver时遇到ENOENT错误 -
[20:38:50] W/start - Selenium Standalone server encountered an error: Error: spawn java ENOENT
Run Code Online (Sandbox Code Playgroud)
而现在我认为这是因为Java没有安装在容器中.
Ale*_*hin 16
最好的方法是使用java(已正式弃用并建议您使用openjdk图像)并在其中安装节点.
所以,先从
FROM openjdk:latest
Run Code Online (Sandbox Code Playgroud)
这将使用最新的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
Run Code Online (Sandbox Code Playgroud)
你可能想要事后安装像grunt这样的东西,所以这也可以派上用场.
RUN npm install -g grunt grunt-cli
Run Code Online (Sandbox Code Playgroud)
总的来说,您将获得以下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
Run Code Online (Sandbox Code Playgroud)
你可以从我的gitlab回购克隆Dockerfile 这里
您还可以使用node映像,然后安装default-jre:
# Dockerfile
FROM node:latest
RUN apt-get -y install default-jre
Run Code Online (Sandbox Code Playgroud)
您可以选择您需要的版本:
apt install default-jre
apt install openjdk-11-jre-headless
apt install openjdk-8-jre-headless
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9453 次 |
| 最近记录: |