将nodejs和npm添加到Jenkins docker镜像

时间:2017-09-12 12:47:54

标签: node.js docker jenkins npm

我试图用Jenkins做一两个快速的实验。为此我打算使用jenkins图像并添加nodejs和npm。这就是我要做的事情:

n

FROM jenkins USER root RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - \ && apt-get update \ && apt-get install -y \ nodejs RUN npm install -g npm RUN npm --version USER jenkins 调用将失败,但出现此错误:

npm --version

解决这个问题的正确方法是什么(如果有的话)?

2 个答案:

答案 0 :(得分:1)

尝试以下操作,它使用docker多阶段构建将依赖项从一个映像复制到另一个映像。这将允许您避免在docker中安装节点所需的所有特殊事项。有一个由docker团队构建的官方docker镜像,因此您可以按如下方式使用它:

FROM node

FROM jenkins
USER root
COPY --from=0 /usr/local  /usr/local
RUN npm --version
USER jenkins

npm --version将输出5.3.0

答案 1 :(得分:0)

Docker的Jenkins图像使用最小的安装来运行Jenkins,因此在运行实时容器时,不要直接更改Dockerfile,而是进行一些调试。

  1. 运行您的容器
  2. 使用docker exec -it <containerid> -u root /bin/bash
  3. 然后尝试更改,而不是在Dockerfile中反映这些更改