> 文章列表 > 记录使用Dockerfile来生成springboot项目镜像,并且启动运行

记录使用Dockerfile来生成springboot项目镜像,并且启动运行

记录使用Dockerfile来生成springboot项目镜像,并且启动运行

一准备一个安装了docker的虚拟机

首先准备一个安装好了docker的虚拟机,我的docker版本是Docker version 19.03.13, build 4484c46d9d,接着我们先把打包好的springboot项目传输到虚拟机中。因为我这里仅仅是为了记录使用dockerfile的过程,所以就直接打好包上传了,但是在实际生产环境中,一般都是自动打好包然后自动部署就完事了。
图中红线所示就是我打好的包和所安装的docker环境。接下里我们开始白那些dockerfile。
在这里插入图片描述

二编写dockerfile

由于我这里仅仅是简单的使用dockerfile,所以我这边就不安装什么mysql镜像了。只要能访问springboot项目就算大功告成了。
首先创建一个目录用来放dockerfile文件和打好的jar包。这个springboot项目的功能非常简单,如图所示:
在这里插入图片描述
仅仅就是一个controller而已,
接下来我们就开始写dockerfile:

mkdir dockerExample

接着我们编写dockerfile

vi DockerfileFROM java:8
# 作者
MAINTAINER xzz
# 设置当前生成的镜像工作目录
WORKDIR /test
# 容器数据卷挂在
VOLUME /tmp
# 将宿主机中的jar包 copy到容器中 /tmp目录下, 并改名为 docker-test.jar
ADD Test-0.0.1-SNAPSHOT.jar /test/docker-test.jar
RUN bash -c 'touch /docker-test.jar'
# 容器启动后 执行命令 启动SpringBoot项目 java -jar xxx.jar
ENTRYPOINT ["java","-jar","/test/docker-test.jar"]
# 暴露端口号
EXPOSE 8080

接下来创建镜像:

# 记住最后还有一个点.
docker build -t docker_test:1.0 .

到此镜像已经创建完成了。
我们通过命令可以查看到镜像。
在这里插入图片描述
接着我们启动一下镜像

docker run -d --name docker_test -p 8080:8080 docker_test:1.0
docker ps

如下图所示,说明镜像启动成功了,
在这里插入图片描述
接着我们就可以通过ip来访问这个项目了。
如图所示是访问我的项目的界面:
在这里插入图片描述

总结

经过上面的一系列过程,我们发现dockerfile的确用处很大,这样我们每次就只需要启动镜像就够了,不需要再每次都要重新部署启动一些其他的依赖的软件了。节省了很大的功夫。