小编Gok*_*ica的帖子

如果我们在 dockerfile 中使用 CMD,Docker 多阶段构建会失败

Dockerfile:

FROM maven:3.6.3-openjdk-8 as builder
# Set the working directory.
WORKDIR /usr/src/mymaven
COPY ./ /usr/src/mymaven
CMD [ "mvn" , "clean" , "install" ]

FROM openjdk:8
COPY --from=builder /usr/src/mymaven/target /usr/src/myapp
WORKDIR /usr/src/myapp
CMD ["java", "-jar" , "Backend-0.0.1-SNAPSHOT.jar"]
Run Code Online (Sandbox Code Playgroud)

上面的 docker build 失败并显示错误:目标文件夹不存在
下面的 dockerfile 完美运行:

FROM maven:3.6.3-openjdk-8 as builder
# Set the working directory.
WORKDIR /usr/src/mymaven
COPY ./ /usr/src/mymaven
RUN [ "mvn" , "clean" , "install" ]

FROM openjdk:8
COPY --from=builder /usr/src/mymaven/target /usr/src/myapp
WORKDIR /usr/src/myapp
CMD ["java", "-jar" , "Backend-0.0.1-SNAPSHOT.jar"]
Run Code Online (Sandbox Code Playgroud)

只需将 CMD …

java maven docker dockerfile docker-multi-stage-build

2
推荐指数
1
解决办法
351
查看次数