当在使用docker时会遇到需要切换成国内源
的问题,比如docker国内源,npm国内源等,否则在安装的过程中会导致请求资源很缓慢或资源404等异常情况。
docker中切换使用国内仓库源的操作方法,经测试有效
打开设置 》 Docker Engine 》 找到配置信息编辑框,添加信息如下:
"registry-mirrors": [
"http://mirrors.ustc.edu.cn",
"https://docker.chenby.cn",
"http://mirror.azure.cn",
"https://dockerpull.org",
"https://dockerhub.icu",
"https://hub.rat.dev"
]
经我测试清华源可以使用。
当我在构建镜像的时候,如果命令中使用了node npm,则需要使用国内的npm源,修改dockerfile文件信息如下,经多次测试有效:
RUN npm config set registry https://registry.npmmirror.com --global \
&& npm install \
&& npm install -g serve \
&& npm run build \
&& rm -fr node_modules
如果要使用配置文件的方式来定制npm源,可以使用
# 将定义了npm源的文件.npmrc也复制到源码目录内
COPY package*.json .npmrc ./
RUN npm install \
&& npm run build \
&& rm -fr node_modules
但这种方式经我测试不能在 npm install -g XXX 时使用,不起作用,不推荐。
还有一种方式我测试有效,使用环境变量。npm会使用环境变量还确定具体的源地址,所以直接修改环境变量也是可行的
ENV NPM_CONFIG_REGISTRY=https://registry.npmmirror.com
RUN npm install \
&& npm install -g serve \
&& npm run build \
&& rm -fr node_modules