我有这个Dockerfile:
FROM node:argon
ENV http_proxy http://user:[email protected]:3128
ENV https_proxy https://user:[email protected]:3128
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install
# Bundle app source
COPY . /usr/src/app
EXPOSE 8080
CMD [ "npm", "start" ]
但是我在npm install步骤中收到此错误:
npm info如果以“ ok”结尾,则可以正常工作npm info使用[email protected] npm info使用[email protected] npm WARN package.json [email protected]无描述npm WARN package.json [email protected]。 0没有存储库字段。npm WARN package.json [email protected]无自述数据npm info预安装[email protected] npm info尝试注册表请求尝试#1 at 7:09:23 AM npm http请求GET https:// registry。 npmjs.org/body-parser npm信息尝试注册表请求在上午7:09:23尝试#1 npm http请求GET https://registry.npmjs.org/express npm info重试将重试,最后一次尝试时出错:错误:无法建立隧道套接字,原因=写入EPROTO npm info重试将重试,最后一次尝试时出错:错误:无法建立隧道套接字,原因=写入EPROTO
我想这是由于代理。我也试过放
RUN npm config set proxy http://user:[email protected]:3128
RUN npm config set https-proxy http://user:[email protected]:3128
但仍然出现相同的错误。
此外,在我的文件/etc/systemd/system/docker.service.d/http-proxy.conf中,我有以下内容:
Environment="HTTP_PROXY=http://user:[email protected]:3128"
Environment="HTTPS_PROXY=https://user:[email protected]:3128"
提前致谢。
首先,https_proxy
应使用http网址,而不是https网址。
其次,您不需要在Dockfile中嵌入代理设置:您可以使用构建时间变量
docker build --build-arg HTTP_PROXY=http://user:[email protected]:3128 --build-arg HTTPS_PROXY=http://user:[email protected]:3128 .
最后,泊坞窗服务级别的代理设置允许泊坞窗守护程序从互联网提取图像。这并不意味着执行unix命令(RUN
指令)docker build
会从中受益。因此,需要将它们作为构建时环境变量传递。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句