在为您的node.js / io.js容器(
you/iojs)创建基础映像时,我发现了一种有点优雅的解决方案:
- 使用您要用于docker的用户登录到私有npm注册表
- 复制
.npmrc
生成的文件
范例
.npmrc:
registry=https://npm.mydomain.com/username=dockerUseremail=docker@mydomain.comstrict-ssl=falsealways-auth=true//npm.mydomain.com/:_authToken="someAuthToken"
- 创建一个适当
Dockerfile
复制.npmrc
文件的文件。
这是我的
Dockerfile(基于
iojs:onbuild):
FROM iojs:2.2.1MAINTAINER YourSelf# Exclude the NPM cache from the imageVOLUME /root/.npm# Create the app directoryRUN mkdir -p /usr/src/appWORKDIR /usr/src/app# Copy npm configCOPY .npmrc /root/.npmrc# Install apponBUILD COPY package.json /usr/src/app/onBUILD RUN npm installonBUILD COPY . /usr/src/app# RunCMD [ "npm", "start" ]
- 制作所有的node.js / io.js容器
FROM you/iojs
,一切顺利。



