1.SpringBoot项目的标志
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.7</version>
<relativePath/>
</parent>
2.使用maven 进行打包
mvn clean package -Dmaven.test.skip=true
![在这里插入图片描述](https://img-blog.csdnimg.cn/23ef20c0230d4f4a952f4b374bfe4073.png)
3.DockerFile的编写
FROM openjdk:17 as builder
WORKDIR application
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} application.jar
RUN java -Djarmode=layertools -jar application.jar extract
FROM openjdk:17
WORKDIR application
LABEL maintainer="xxxx"
COPY --from=builder application/dependencies/ ./
COPY --from=builder application/spring-boot-loader/ ./
COPY --from=builder application/snapshot-dependencies/ ./
COPY --from=builder application/application/ ./
ENV JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xmn512m -XX:MaxMetaspaceSize=512m" \
JAVA_ARGS=""
CMD ["sh", "-c", "java $JAVA_OPTS org.springframework.boot.loader.JarLauncher $JAVA_ARGS"]
4.进行镜像构建
hfg@hfg-PC:/data/home/hfg/AsicSystem/eureka-server$ docker build -t eureka-server:latest .
Sending build context to Docker daemon 106.7MB
Step 1/14 : FROM openjdk:17 as builder
---> 5f94f53bbced
Step 2/14 : WORKDIR application
---> Using cache
---> 74114b6b1bd4
Step 3/14 : ARG JAR_FILE=target/*.jar
---> Using cache
---> f32a23149b60
Step 4/14 : COPY ${JAR_FILE} application.jar
---> b033050d2edd
Step 5/14 : RUN java -Djarmode=layertools -jar application.jar extract
---> Running in 3a9dc9e9ac8c
Removing intermediate container 3a9dc9e9ac8c
---> cd7ddb491226
Step 6/14 : FROM openjdk:17
---> 5f94f53bbced
Step 7/14 : WORKDIR application
---> Using cache
---> 74114b6b1bd4
Step 8/14 : LABEL maintainer="xxxx"
---> Using cache
---> a626cd3a5f4c
Step 9/14 : COPY --from=builder application/dependencies/ ./
---> 4540af8579a2
Step 10/14 : COPY --from=builder application/spring-boot-loader/ ./
---> 799e136ca917
Step 11/14 : COPY --from=builder application/snapshot-dependencies/ ./
---> 1de4bc816e40
Step 12/14 : COPY --from=builder application/application/ ./
---> 34cd9f8cccbf
Step 13/14 : ENV JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xmn512m -XX:MaxMetaspaceSize=512m" JAVA_ARGS=""
---> Running in 5d991704f0d7
Removing intermediate container 5d991704f0d7
---> b1b3b21791fd
Step 14/14 : CMD ["sh", "-c", "java $JAVA_OPTS org.springframework.boot.loader.JarLauncher $JAVA_ARGS"]
---> Running in 842906b141fd
Removing intermediate container 842906b141fd
---> 7331a5a9d68a
Successfully built 7331a5a9d68a
Successfully tagged eureka-server:latest
hfg@hfg-PC:/data/home/hfg/AsicSystem/eureka-server$
![在这里插入图片描述](https://img-blog.csdnimg.cn/e86efc393d1b4ecca4b6f02cf0efe12c.png)
5.进行执行
docker run --name asic-eureka-server -p 8761:8761 --net=host -d eureka-server:latest
![在这里插入图片描述](https://img-blog.csdnimg.cn/40ae02df1cb84c138330a6bbdc9b17c7.png)
docker logs 镜像名 -f
- 服务启动成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/654ea47f471b4dd7a1c9806c49cfa3af.png)