我有一个在 Docker 容器中运行的应用程序。它需要来自公司私有 NPM 注册表(Sinopia)的一些私有模块,并且访问这些需要用户身份验证。Dockerfile 是FROM iojs:latest
.
我努力了:
1)在项目根目录中创建一个 .npmrc 文件,这实际上没有区别,npm 似乎忽略了它 2)使用 env 变量NPM_CONFIG_REGISTRY
等NPM_CONFIG_USER
,但用户没有登录。
本质上,我似乎无法在docker build
流程中对用户进行身份验证。我希望有人可能已经遇到过这个问题(似乎是一个足够明显的问题)并且会有一个解决它的好方法。
(最重要的是,我在 Docker Hub 上使用自动构建(在推送时触发),以便我们的服务器可以使用预构建的图像访问私有 Docker 注册表。)
有没有好的方法:1)在构建时为 NPM 注入凭据(所以我不必向我的 Dockerfile 提交凭据)或 2)以另一种我没有想到的方式执行此操作?