Dockerfile 多阶段构建 Docker 镜像
Docker About 750 words示例
FROM maven:3.8.5-eclipse-temurin-11-alpine AS build
WORKDIR /app
COPY src ./src
COPY pom.xml .
COPY settings.xml .
RUN mvn -s ./settings.xml -f ./pom.xml clean package -Dmaven.test.skip=true
FROM openjdk:11-jre-slim
COPY --from=build /app/target/*.jar /app/app.jar
ENTRYPOINT ["java", "-jar", "/app/app.jar"]解读
第一阶段
- 拉取maven镜像作为build镜像
- 设置工作目录
- 拷贝当前src文件夹所有内容到容器的当前路径下的src文件夹下
- 拷贝当前文件夹下的pom.xml文件到容器的当前文件夹下
- 拷贝当前文件夹下的settings.xml文件到容器的当前文件夹下
- 执行maven打包命令
第二阶段
- 拉取openjdk镜像
- 从build镜像的/app/target/目录下拷贝jar包到当前容器的/app路径下,命名为app.jar
- 设置容器启动指令
COPY 指令
从指定阶段拷贝
从上一个阶段拷贝构建的文件到当前的新阶段。
构建阶段从0开始,可使用AS重命名每个阶段。
COPY --from=0从外部镜像拷贝
COPY --from=nginx:latest /etc/nginx/nginx.conf /nginx.conf官方文档
https://docs.docker.com/develop/develop-images/multistage-build
                Views: 2,407 · Posted: 2022-11-27
            
            ————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
 
        Loading...