springboot docker打包镜像及dockerfile编写

springboot docker打包镜像及dockerfile编写

首先使用maven打包命令进行项目打包

//maven命令行打包并跳过测试包
mvn clean package -Dmaven.test.skip=true

编写dockerfile文件

创建Dockerfile文件
内容

FROM openjdk:8-jdk
VOLUME /tmp
ADD target/zyyd-jstx-web-0.0.1-SNAPSHOT.jar app.jar
# EXPOSE 1130
# RUN sh -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

## 1.FROM openjdk:8-jdk

是指定基础镜像,必须为第一个命令, 从docker中查找jdk镜像指定基础镜像
2.VOLUME /tmp
将容器中的 /tmp 目录映射到宿主机的目录 查看映射的宿主机目录 docker inspect add8a3790

在这里插入图片描述
3. ADD target/zyyd-jstx-web-0.0.1-SNAPSHOT.jar app.jar
将生成的jar包放入到容器内
4.EXPOSE
指定与外界交互的端口,格式: EXPOSE […] 示例: EXPOSE 8080 443 、EXPOSE 80 、EXPOSE 11431/tcp 12551/udp
5.RUN sh -c ‘touch /app.jar’
运行命令touch /app.jar命令 touch命令文件存在更新时间,不存在创建文件。
6.ENTRYPOINT [“java”,“-Djava.security.egd=file:/dev/./urandom”,“-jar”,“/app.jar”]
java执行的命令 后面的都是参数
参数1 -Djava.security.egd=file:/dev/./urandom执行随机数策略避免tomcat启动时卡死
参数2 -jar 启动命令
参数3 启动当前app.jar

docker 打包命令

docker build -f Dockerfile -t jstx-web:v1.0 .
参数1 -f 指定dockerfile文件
参数2 -t 指定容器名称 注意后面还有一个 . 。

运行打包好的docker镜像

1.查看docker镜像
docker images
2.运行镜像
docker run -p 8080:8080 --name=deom001 jstx-web:v1.0
参数1 端口对外映射
参数2 运行容器名称
参数3 运行的镜像名称

猜你喜欢

转载自blog.csdn.net/shixiaodongmain/article/details/124162572