我是新手docker,出于学习目的,我遵循了官方的 NodeJS docker 说明并遵循了说明,但它不断在同一命令上抛出错误。
尝试docker按照 Ubuntu 18.04 Bionic beaver for arch 64 位的官方存储库安装中提到的方式重新安装整个系统amd64,但仍然遇到相同的错误。
(sudo权限已授予npm和dockerdockernpmsudonpm install。在终端中运行和不
运行 *都可以正常工作
Dockerfile
FROM node:8
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)
错误
Sending build context to Docker daemon 19.46kB
Step 1/7 : FROM node:8
---> 55791187f71c
Step 2/7 : WORKDIR /usr/src/app
---> Using cache
---> 440112b72584
Step 3/7 : COPY package*.json ./
---> Using cache
---> 956513348aa7
Step 4/7 : RUN npm install
---> Running in dbbf0bc0d749
npm WARN hello@1.0.0 No repository field.
npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/array-flatten/-/array-
flatten-1.1.1.tgz failed, reason: getaddrinfo EAI_AGAIN
registry.npmjs.org:443
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-08-27T20_59_09_800Z-debug.log
The command '/bin/sh -c npm install' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)
Docker 版本和信息
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:24:51 2018
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:23:15 2018
OS/Arch: linux/amd64
Experimental: false
Run Code Online (Sandbox Code Playgroud)
小智 5
使用此行时出现此错误From node:alpine您可能需要从更新的图像中提取。我当前运行节点 14.xx,因此我只需拉取节点版本 14-apline。所以我的第一句话是FROM node:14-alpine,这对我来说很有效。
小智 3
同样的问题在这里,显然该COPY package*.json ./命令无法正常工作。
我在安装 NPM 依赖项之前解决了复制文件的问题:
FROM node:8.15.1-alpine as build-stage
WORKDIR /app
COPY . .
RUN npm --verbose install
RUN npm run build
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41046 次 |
| 最近记录: |