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

Spring从docker添加环境变量

docker使用Dockerfile把springboot项目jar包生成镜像并运行

Docker Dockerfile