2017-09-12 7 views
1

私はJenkinsで簡単な実験をしようとしています。このために、私はjenkinsイメージを使用してnodejsとnpmを追加するつもりでした。ここで私は何をしようとしているのです:Jenkinsドッカーの画像にnodejsとnpmを追加してください。

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呼び出しがこのエラーで、しかし失敗します。

Step 5/6 : RUN npm --version 
---> Running in 48a250a4fdb8 
module.js:471 
    throw err; 
    ^

Error: Cannot find module 'process-nextick-args' 
    at Function.Module._resolveFilename (module.js:469:15) 
    at Function.Module._load (module.js:417:25) 
    at Module.require (module.js:497:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/usr/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_readable.js:26:23) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 
The command '/bin/sh -c npm --version' returned a non-zero code: 1 

この問題を解決する適切な方法(もしあれば)とは何ですか?

+0

そのはしばらくして私は100じゃないでしょう:あなたは次のようにすることを使用してドッキングウィンドウチームによって構築されている公式のドッキングウィンドウの画像があり、 %を使用していますが、--without-npmフラグを使用してノードをインストールし、コマンドラインインストールを実行することでこれを修正できます( 'curl -L https://www.npmjs.com/install.sh | sh') 。私はhomebrewを通して同じようなエラーを抱えていましたが、それはそれを修正するのに役立ちました。 –

+0

あなたの提案には@DLowther Thxですが、残念ながらそれを働かせることはできませんでした。 – Jeroen

答えて

-1

Jenkinsによる画像は、Jenkinsを実行するための最小限のインストールを使用しているため、Dockerfileを直接変更する代わりに、ライブコンテナを実行する際にデバッグが行われます。その後、

  1. あなたのコンテナ
  2. 使用ドッキングウィンドウexecを実行-it -uルート/ binに/ bashの

し、変更をしようとすると、以下のことを試してみてくださいDockerfile

+0

応答する時間をとってくれてありがとうが、これは本当に役に立たない。私はコンテナでコマンドを実行する方法を知っていますが、問題はそれらのコマンドがすべきものです。私が対話的にやっていることは、Dockerfileでもできることです – Jeroen

1

でそれらの変更を反映するよりも、 1つのイメージから別のイメージに依存関係をコピーするために、ドッカーのマルチステージビルドを使用します。これにより、ドッカーにノードをインストールするために必要な特別な作業をすべて避けることができます。

FROM node 

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

をNPMの--version出力5.3.0

関連する問題