docker使用Dockerfile把springboot项目jar包生成镜像并运行
Posted 齐华枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker使用Dockerfile把springboot项目jar包生成镜像并运行相关的知识,希望对你有一定的参考价值。
1、在linux服务器上安装docker
这里参考https://www.cnblogs.com/hanfengyeqiao/p/13694680.html 即可。
2、下载jdk8依赖,这里可以下载docker官方提供的
docker pull docker.io/java:8
3、安装好后,将jar包上传到服务器,并进入到jar包所在的目录。
例如:cd /usr/local/probject
4、编写Dockerfile文件
先创建一个文件名为 Dockerfile 的文件。注意不要后缀。然后上传到jar包所在的目录。
Dockerfile文件的内容:
# 基于java镜像创建新镜像 FROM docker.io/java:8 # 作者 MAINTAINER peter # 将jar包添加到容器中并更名为kxrw.jar COPY kxrw.jar /usr/local/probject/kxrw.jar # 暴露8080端口 EXPOSE 8080 # 运行jar包 ENTRYPOINT ["nohup","java","-jar","/usr/local/probject/kxrw.jar","--server.port=8080","&"]
解释:
FROM 依赖的jdk环境镜像
MAINTAINER 作者可以随便写
COPY 将jar包复制到容器。ps:这里也可以使用ADD关键字,区别是如果目标是压缩包的话ADD会自动解压,COPY不会。
EXPOSE 暴露8080端口
ENTRYPOINT 配置在启动镜像后执行命令。此处也可使用其他关键字,可以自行了解。
5、生成镜像
docker build -t kxrw -f Dockerfile .
注意,Dockerfile后面的 . 不能少,这是将此目录的文件全部打包成镜像。
6、查看镜像,执行完成后就能在本机查看到新生成的镜像了。
docker images
6、启动,将8088映射到8080端口
docker run -d -p 8088:8080 --name kxrw1 --restart=always kxrw
此外Dockerfile里还有很多其他参数可以配置,可自行了解。
以上是关于docker使用Dockerfile把springboot项目jar包生成镜像并运行的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 的项目打包成的 JAR 包,制作成 docker 镜像并运行
windows from docker 安装部署spring jar包方法
使用 Gradle/Maven 的 SpringBoot 应用程序的通用 Docker 映像和 Dockerfile