【发布时间】:2015-08-14 21:54:23
【问题描述】:
我有一个在 Docker 容器中运行的应用程序。它需要来自公司私有 NPM 注册中心(Sinopia)的一些私有模块,并且访问这些模块需要用户身份验证。 Dockerfile 是FROM iojs:latest。
我试过了:
1) 在项目根目录中创建一个 .npmrc 文件,这实际上没有区别,npm 似乎忽略了它
2) 使用NPM_CONFIG_REGISTRY、NPM_CONFIG_USER等的环境变量,但用户没有登录。
基本上,我似乎无法在docker build 进程中验证用户身份。我希望有人可能已经遇到过这个问题(这似乎是一个足够明显的问题)并且有解决它的好方法。
(最重要的是,我在 Docker Hub 上使用自动构建(在推送时触发),以便我们的服务器可以使用预构建的镜像访问私有 Docker 注册表。)
有没有好的方法: 1) 在构建时为 NPM 注入凭据(因此我不必将凭据提交到我的 Dockerfile)或 2)以另一种我没有想到的方式做这件事 ?
【问题讨论】:
-
你解决过这个问题吗?我遇到了同样的问题:(
-
是的,刚刚发布了我的答案!
标签: node.js docker npm docker-registry npm-private-modules