使用命令“/bin/sh -c npm ci”构建服务失败
A service is failing to build with the command '/bin/sh -c npm ci'
我正在设置一个容器来托管我的 React 客户端代码,但在本地计算机上构建失败,退出代码为 1。我应该如何解决此错误?
我已经尝试重新启动 docker 机器和 docker 客户端。
docker-机器版本 0.16.0,build 702c267f
docker-compose 版本 1.17.1,构建未知
Docker 版本 19.03.1,内部版本 74b1e89
我的docker-compose.yml:
version: '3.3'
services:
client:
build:
context: ./services/client
dockerfile: Dockerfile
volumes:
- './services/client:/usr/src/app'
- '/usr/src/app/node_modules'
ports:
- 3007:3000
environment:
- NODE_ENV=development
- REACT_APP_USERS_SERVICE_URL=${REACT_APP_USERS_SERVICE_URL}
depends_on:
- users
我的Docker文件:
# base image
FROM node:11.12.0-alpine
# set working directory
WORKDIR /usr/src/app
# add /usr/src/app/node_modules/.bin to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH
# install and cache app dependencies
COPY package.json /usr/src/app/package.json
COPY package-lock.json /usr/src/app/package-lock.json
RUN npm ci
RUN npm install react-scripts -g --silent
# start app
CMD ["npm", "start"]
我期待服务 "client" 成功构建,但我不断收到以下错误。
npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-08-15T05_55_38_024Z-debug.log
ERROR: Service 'client' failed to build: The command '/bin/sh -c npm ci' returned a non-zero code: 1
错误 npm ERR! errno EAI_AGAIN
表示 DNS 错误 我建议您执行以下操作之一:
使用 host
网络构建您的图像:
version: '3.4'
services:
client:
build:
context: ./services/client
dockerfile: Dockerfile
network: host
volumes:
- './services/client:/usr/src/app'
- '/usr/src/app/node_modules'
ports:
- 3007:3000
environment:
- NODE_ENV=development
- REACT_APP_USERS_SERVICE_URL=${REACT_APP_USERS_SERVICE_URL}
depends_on:
- users
或将 dns
设置添加到您的 daemon.json
文件:
{
"dns": ["8.8.8.8"]
}
我正在设置一个容器来托管我的 React 客户端代码,但在本地计算机上构建失败,退出代码为 1。我应该如何解决此错误?
我已经尝试重新启动 docker 机器和 docker 客户端。
docker-机器版本 0.16.0,build 702c267f
docker-compose 版本 1.17.1,构建未知
Docker 版本 19.03.1,内部版本 74b1e89
我的docker-compose.yml:
version: '3.3'
services:
client:
build:
context: ./services/client
dockerfile: Dockerfile
volumes:
- './services/client:/usr/src/app'
- '/usr/src/app/node_modules'
ports:
- 3007:3000
environment:
- NODE_ENV=development
- REACT_APP_USERS_SERVICE_URL=${REACT_APP_USERS_SERVICE_URL}
depends_on:
- users
我的Docker文件:
# base image
FROM node:11.12.0-alpine
# set working directory
WORKDIR /usr/src/app
# add /usr/src/app/node_modules/.bin to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH
# install and cache app dependencies
COPY package.json /usr/src/app/package.json
COPY package-lock.json /usr/src/app/package-lock.json
RUN npm ci
RUN npm install react-scripts -g --silent
# start app
CMD ["npm", "start"]
我期待服务 "client" 成功构建,但我不断收到以下错误。
npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-08-15T05_55_38_024Z-debug.log
ERROR: Service 'client' failed to build: The command '/bin/sh -c npm ci' returned a non-zero code: 1
错误 npm ERR! errno EAI_AGAIN
表示 DNS 错误 我建议您执行以下操作之一:
使用 host
网络构建您的图像:
version: '3.4'
services:
client:
build:
context: ./services/client
dockerfile: Dockerfile
network: host
volumes:
- './services/client:/usr/src/app'
- '/usr/src/app/node_modules'
ports:
- 3007:3000
environment:
- NODE_ENV=development
- REACT_APP_USERS_SERVICE_URL=${REACT_APP_USERS_SERVICE_URL}
depends_on:
- users
或将 dns
设置添加到您的 daemon.json
文件:
{
"dns": ["8.8.8.8"]
}