dockerfile上一次构建的COPY失败

Cri*_*ixo 0 docker dockerfile docker-build

我根据docker docs在我的dokcerfile中使用了多阶段构建:

FROM node:8 as build
WORKDIR /usr/src/app
COPY package.json yarn.lock ./
RUN yarn
COPY . ./
RUN REACT_APP_BACKEND_BASE_URL=http://localhost:8010 yarn build

FROM mhart/alpine-node:8
RUN yarn global add serve
WORKDIR /app
COPY —-from=build /usr/src/app/build .
#COPY ./build .
CMD serve -p 80 -s .
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误

Step 8/9 : COPY —-from=build /usr/src/app .
COPY failed: stat /var/lib/docker/tmp/docker-builder527544225/—-from=build: no such file or directory
Run Code Online (Sandbox Code Playgroud)

我也尝试了索引而不是名称: COPY —-from=0但仍然是相同的结果.

如果我跳过第一次构建,我手动踢纱线构建并将构建结果复制到单个容器中

#COPY ./build .
Run Code Online (Sandbox Code Playgroud)

它工作得很好......

Docker version
Client:
 Version:      17.09.1-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   19e2cf6
 Built:        Thu Dec  7 22:22:25 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      17.09.1-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   19e2cf6
 Built:        Thu Dec  7 22:28:28 2017
 OS/Arch:      linux/amd64
 Experimental: true
Run Code Online (Sandbox Code Playgroud)

BMi*_*tch 9

您的Dockerfile中有错误类型的破折号.你的路线:

COPY —-from=build /usr/src/app/build .
Run Code Online (Sandbox Code Playgroud)

是不一样的:

COPY --from=build /usr/src/app/build .
Run Code Online (Sandbox Code Playgroud)

  • 在这里流浪的谷歌人。这对我的问题没有帮助,而是为发现它的惊人之处而投票。 (3认同)