在你将我的问题标记为重复之前..我尝试了我在谷歌上找到的所有其他内容
故事:我们正在使用npm Enterprise私人回购。 Docker + Vagrant用于构建Env设置。安装脚本包含来自私有仓库的npm install
个引用包。并且npm安装失败并出现以下错误
npm http request GET https://npm.lab.myorg.com/passport-http
npm info attempt registry request try #3 at 4:27:26 PM
npm http request GET https://npm.lab.myorg.com/verror
npm ERR! Linux 3.13.0-24-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v5.6.0
npm ERR! npm v3.6.0
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! syscall getaddrinfo
npm ERR! network getaddrinfo ENOTFOUND npm.lab.myorg.com npm.lab.myorg.com:443
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! Please include the following file with any support request:
npm ERR! /usr/src/app/npm-debug.log
我已经尝试了网上建议的所有内容
npm config proxy
为空我检查了与npm.lab.myorg.com:443
及其良好
vagrant@dockerhost:~/git/ curl -Is https://npm.lab.myorg.com/
HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Sun, 16 Oct 2016 16:26:40 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 36342
Connection: keep-alive
X-Powered-By: Sinopia/1.4.0
X-Frame-Options: deny
ETag: "180fec4dfa875dd07ebf5f43887ca234"
Vary: Accept-Encoding
X-Status-Cat: http://flic.kr/p/aVuVsF
更新1;在RUN curl -I -vvvv https://npm.lab.myorg.com/
Dockerfile
时,Docker容器内部的卷曲失败
这是输出
Step 5 : RUN curl -I -vvvv https://npm.lab.myorg.com/
---> Running in a677c4429ea5
* Hostname was NOT found in DNS cache
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Could not resolve host: npm.lab.myorg.com
* Closing connection 0
curl: (6) Could not resolve host: npm.lab.myorg.com
ERROR: Service '******' failed to build: The command '/bin/sh -c curl -I -vvvv https://npm.lab.myorg.com/' returned a non-zero code: 6
从终端跑步时的卷曲一切都很好。
更新2:下面的泊坞窗文件内容
FROM tools.lab.myorg.com:5000/myorg/node:0.10.40.3
LABEL description="blahhblah API" \
version=1.0
ENV WORKDIR=/usr/src/app
WORKDIR $WORKDIR
RUN curl -I -vvvv https://www.google.co.in/
RUN mkdir -p $WORKDIR/script \
&& npm install -g privatePackage1
&& npm install -g privatePackage2
# COPY ./package.json $WORKDIR
# COPY ./script/ $WORKDIR/script/
# RUN ./script/bootstrap
COPY . $WORKDIR
CMD ["script/server"]
答案 0 :(得分:1)
尝试在设置脚本中的curl -I -vvvv https://npm.lab.myorg.com/
命令之前直接运行npm install
(我认为这是从Dockerfile
RUN命令在Docker容器上运行的吗?)。
这应打印出一些调试信息,以显示Docker容器是否可以访问您的私人仓库。