Docker コンテナーで実行されるアプリケーションがあります。会社のプライベート NPM レジストリ (Sinopia) からいくつかのプライベート モジュールが必要であり、これらにアクセスするにはユーザー認証が必要です。Dockerfile はFROM iojs:latest
.
私が試してみました:
1) プロジェクト ルートに .npmrc ファイルを作成しますが、これは実際には違いがなく、npm はそれを無視しているように見えます 2) などに環境変数を使用NPM_CONFIG_REGISTRY
しNPM_CONFIG_USER
ますが、ユーザーはログインしません。
基本的に、プロセス内でユーザーを認証する方法がないようですdocker build
。誰かがすでにこの問題に遭遇しており (十分に明白な問題のように思えます)、それを解決する良い方法があることを願っていました。
(さらに、サーバーがビルド済みのイメージを含むプライベート Docker レジストリにアクセスできるように、Docker Hub で自動ビルド (プッシュ時にトリガー) を使用しています。)
1) ビルド時に NPM の認証情報を注入する (そのため、Dockerfile に認証情報をコミットする必要はありません) または 2) 考えもしなかった別の方法でこれを実行しますか?