0

这是Dockerfile:

# tag block to refering
FROM node:alpine as builder
WORKDIR /home/server
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "run", "build"]

# on second step use another core image
FROM nginx

# copy files builded on previous step
COPY --from=builder /home/server/build usr/share/nginx/html

当使用命令“docker build”在本地机器上构建图像时。- 它工作正常,但是当我试图将项目放到 zeit 时,我得到下一个错误:

Step 8/8 : COPY --from=builder /home/server/build usr/share/nginx/html
> COPY failed: stat   /var/lib/docker/overlay2/a114ae6aae803ceb3e3cffe48fa1694d84d96a08e8b84c4974de299d5fa35543/merged/home/server/build: no such file or directory

它可以是什么?谢谢。

4

1 回答 1

1

您的第一阶段实际上并未运行构建命令,因此构建目录为空。将 CMD 行更改为 RUN 行。

一个提示:序列的每一行都docker build产生自己的中间层,每一层都是一个可运行的 Docker 镜像。你会看到像这样的输出

Step 6/8: CMD ["npm", "run", "build"]
 ---> Running in 02071fceb21b
 ---> f52f38b7823e

最后一个数字是有效的 Docker 映像 ID,您可以

docker run --rm -it f52f38b7823e sh

查看该图像中的内容。

于 2018-10-03T11:12:28.260 回答