当前位置: 首页 > 面试题库 >

将Node.js永久安装/添加到(Jenkins)Docker映像中

宓文斌
2023-03-14
问题内容

我如何(最好)将nodejs永久安装/添加到(Jenkins)Docker映像中?

结果是同时包含Jenkins和nodejs的docker映像。

目的是将nodejs作为全局工具安装在Jenkins容器中。要获得 nodejs安装文件夹, 必须知道。

我看到了例如这种解决方案,但是Nodejs的安装文件夹是什么?

运行curl -sL
https://deb.nodesource.com/setup_8.x
| sudo -E bash && \ sudo apt-get install -y nodejs

在Jenkins构建时自动添加nodejs(以后)不是一件好事,因为它会减慢构建过程。


问题答案:

解决方法是在jenkins映像之上安装nodejs。在打包依赖项时,添加一个指令以在Dockefile中安装nodejs是Docker中的标准操作。

在Jenkins构建时自动添加nodejs(以后)不是一件好事,因为它会减慢构建过程。

这并非总是如此。Docker构建使用缓存来构建Dockerfile时创建的图层。因此,如果将nodejs安装在Dockerfile的顶部,则只需等待一次即可安装,下一个构建命令将仅使用缓存,并且无需在Jenkins映像内安装nodejs的任何额外时间。

我建议您使用docker multi-stage builds在jenkins映像内安装nodejs
。由于已经存在用于node的Docker映像,因此您可以使用该映像将节点安装在jenkins映像内。

FROM node as nodejs

FROM jenkins/jenkins
COPY --from=nodejs /usr/local/bin/node /usr/local/bin/node

通过构建上面的Dockerfile,您将获得带有jenkins的映像,并使用官方节点Docker映像安装了节点。



 类似资料:
  • 问题内容: 每当我使用时,都会添加新目录。但是,一旦我关闭python,列表将恢复为以前的值(默认值)。如何将目录永久添加到PYTHONPATH? 问题答案: 你需要将新目录添加到环境变量中PYTHONPATH,并用冒号与其之前的内容分隔开。在任何形式的Unix中,你都可以在启动脚本中执行此操作,该脚本适合于你正在使用的任何shell(.profile或取决于你喜欢的shell),该命令又取决于所

  • 我们注意到我们的容器占用了很多空间,其中一个原因是图像。 我们想移动图像。 我知道现在它们存储在

  • 我有以下Dockerfile,基本图像为: 但是,我无法找到原因,因为每个目录似乎都存在。此外,如果我在bash中手动运行for循环,那么所有插件都已正确安装。。。 我进一步注意到,若我将插件安装在根目录中,插件的安装是有效的,如下所示: 然而,这是错误的地方,因为它们必须放在目录$JENKINS_HOME/plugins 为什么我不能安装插件在?

  • 我得到了 我觉得我错过了一些极其简单的东西,但我却无法完全弄明白。如有任何帮助,将不胜感激。

  • 问题内容: 我通过运行此命令为Tomcat提取了官方Docker镜像。 通过使用它作为基本映像,我需要构建新映像,该映像在 文件夹中包含我的war文件。我这样创建了Dockerfile。 当我通过构建映像运行此Dockerfile时,无法看到Tomcat主页。 谁能告诉我如何将我的warfile添加到官方Tomcat图像webapp文件夹中。 问题答案: 从仓库的文档中读取内容,您会做类似的事情

  • 问题内容: 有了Jenkins Docker映像,我想向该映像添加完整的’npm’环境。因此,在构建了Dockerfile之后,我同时拥有Jenkins和’npm’环境的映像。 目的是让詹金斯(Jenkins)作业运行shell命令“ npm”。因此,’npm’应该在$ PATH上(在Ubuntu中)。 我已经有了一个包含很多东西的Dockerfile,例如Jenkins和Maven。 这篇文章描