NPM安装时Docker被阻止-套接字超时
我有一个运行node的简单Dockerfile,配置如下:NPM安装时Docker被阻止-套接字超时,docker,npm,Docker,Npm,我有一个运行node的简单Dockerfile,配置如下: FROM node:latest WORKDIR /usr/src/auth-starter-server COPY ./ ./ RUN npm install CMD ["sh"] 正在docker-compose.yml上使用的,如下所示: version: "3.8" services: # Node Server auth-starter-server: con
FROM node:latest
WORKDIR /usr/src/auth-starter-server
COPY ./ ./
RUN npm install
CMD ["sh"]
正在docker-compose.yml上使用的,如下所示:
version: "3.8"
services:
# Node Server
auth-starter-server:
container_name: server
restart: unless-stopped
build: ./
command: npm run start:live
working_dir: /usr/src/auth-starter-server
ports:
- "5000:5000"
volumes:
- ./:/usr/src/auth-starter-server
从一天到另一天,我再也无法建立这个形象了。一开始没有问题
Creating network "react-auth-starter_default" with the default driver
Building auth-starter-server
Step 1/5 : FROM node:latest
---> 6f7f341ab8b8
Step 2/5 : WORKDIR /usr/src/auth-starter-server
---> Using cache
---> b25f7c08d3eb
Step 3/5 : COPY ./ ./
---> Using cache
---> 2a06e76bab32
Step 4/5 : RUN npm install
---> Running in 0034d6afa38e
但是,当使用docker compose-up--build
(或者简单地说docker build-t auth starter server.
)构建时,它在“npm install”上会超时,并返回以下错误:
npm notice
npm notice New minor version of npm available! 7.0.15 -> 7.3.0
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.3.0>
npm notice Run `npm install -g npm@7.3.0` to update!
npm notice
npm ERR! code ERR_SOCKET_TIMEOUT
npm ERR! errno ERR_SOCKET_TIMEOUT
npm ERR! request to https://registry.companyregistry.com/yargs-parser/-/yargs-parser-13.1.2.tgz failed, reason: Socket timeout
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-12-21T15_37_42_509Z-debug.log
ERROR: Service 'auth-starter-server' failed to build : The command '/bin/sh -c npm install' returned a non-zero code: 1
它停止构建的原因是因为它指向了错误的注册表吗?如果是这样的话,如何解决呢
另一方面,我也注意到关于npm更新的警告;如何在docker映像中更新npm包
非常感谢您的回答,谢谢您的投入 我遇到了同样的问题,后来意识到我的网络连接不好,导致了ERR_SOCKET_超时 这不是因为 运行
npm安装-gnpm@7.3.0
更新!`。如下图所示,它仍在运行
发现我公司的服务器坏了,相关的注册表和类似的服务也坏了 这导致无法处理软件包安装,因为出于某种原因,我似乎从公司自定义注册表中保留了依赖项 为了解决这个问题,我:
node_模块
和package lock.json
,以清理剩余的
npmrc
npmrc
docker compose-up--build
重建docker映像,这就完成了任务
希望这能在将来帮助其他人事实上,我发现很多其他人也有同样的问题,他们将问题指向连接,但事实并非如此(我没有强大的连接,但它应该足以运行这种类型的进程)-我已经添加了帮助我解决此特定问题的答案,但非常感谢您的帮助!
cli configs
long = true
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.14.9 node/v15.4.0 darwin x64"
; builtin config undefined
prefix = "/usr/local"
; default values
access = null
allow-same-version = false
also = null
always-auth = false
audit = true
audit-level = "low"
auth-type = "legacy"
before = null
bin-links = true
browser = null
ca = null
cache = "/Users/ale917k/.npm"
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10
cafile = undefined
cert = null
cidr = null
color = true
commit-hooks = true
depth = null
description = true
dev = false
dry-run = false
editor = "vi"
engine-strict = false
fetch-retries = 2
fetch-retry-factor = 10
fetch-retry-maxtimeout = 60000
fetch-retry-mintimeout = 10000
force = false
format-package-lock = true
fund = true
git = "git"
git-tag-version = true
global = false
global-style = false
globalconfig = "/usr/local/etc/npmrc"
globalignorefile = "/usr/local/etc/npmignore"
group = 20
ham-it-up = false
heading = "npm"
https-proxy = null
if-present = false
ignore-prepublish = false
ignore-scripts = false
init-author-email = ""
init-author-name = ""
init-author-url = ""
init-license = "ISC"
init-module = "/Users/ale917k/.npm-init.js"
init-version = "1.0.0"
json = false
key = null
legacy-bundling = false
link = false
local-address = undefined
loglevel = "notice"
logs-max = 10
; long = false (overridden)
maxsockets = 50
message = "%s"
; metrics-registry = null (overridden)
node-options = null
node-version = "15.4.0"
noproxy = null
offline = false
onload-script = null
only = null
optional = true
otp = null
package-lock = true
package-lock-only = false
parseable = false
prefer-offline = false
prefer-online = false
; prefix = "/usr/local/Cellar/node/15.4.0" (overridden)
preid = ""
production = false
progress = true
proxy = null
read-only = false
rebuild-bundle = true
registry = "https://registry.npmjs.org/"
rollback = true
save = true
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
save-prod = false
scope = ""
script-shell = null
scripts-prepend-node-path = "warn-only"
searchexclude = null
searchlimit = 20
searchopts = ""
searchstaleness = 900
send-metrics = false
shell = "/bin/zsh"
shrinkwrap = true
sign-git-commit = false
sign-git-tag = false
sso-poll-frequency = 500
sso-type = "oauth"
strict-ssl = true
tag = "latest"
tag-version-prefix = "v"
timing = false
tmp = "/var/folders/2t/36_q44_s62d1b57hnl0l8khw0000gn/T"
umask = 18
unicode = true
unsafe-perm = true
update-notifier = true
usage = false
user = 0
; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch} {ci}" (overridden)
userconfig = "/Users/ale917k/.npmrc"
version = false
versions = false
viewer = "man"