将springboot jar包项目打包成Docker镜像并运行。
前提:
CenterOS7阿里云轻量级服务器已经安装有Docker。
连接服务器的命令界面推荐安装工具:PShell或xshell6或者 putty三者之一。
步骤:
1.在服务器中创建一个文件夹DockerTest用于存放上传的springboot jar包,我创建的文件夹名。
2.创建一个springboot项目并打包成jar包,并把jar包上传到服务器步骤1中的文件夹中。
注意:此项目打包前最好在本地运行,看看项目是否能正常跑起来。我的本地运行结果如下:
【
此处省略内容:
省略服务器安装Docker过程。具体过程参照菜鸟教程。
省略创建springboot项目过程。
省略项目打包成jar的过程。
】
3.进入步骤1中创建的文件夹,使用vim命令创建并编辑文件,文件名称为:Dockerfile。用于存放编写打包镜像的配置。
注意:文件名称必须为这个名字,不然之后要指定文件名。强烈建议不要改名字。
命令如下:
vim Dockerfile
4.进入编辑界面。将一下的配置按照自己实际的进行修改。修改后保存退出。回到命令窗口界面。
#注意,docker命令全部大写,这是规定。
# From 关键字表示,jar包依赖的环境。java:8 相当于jdk1.8
FROM java:8
#ADD命令
# docker-0.0.1-SNAPSHOT.jar:这是你上传jar包的名称。
# /build_docke.jar:这是自定义的名称。但是注意要有之前的/
ADD docker-0.0.1-SNAPSHOT.jar /build_docke.jar
#MAINTAINER 作者名称。可以删除不写。
MAINTAINER zhangxiaosan
#EXPOSE 项目暴露的端口号
EXPOSE 8080
#/build_docke.jar此处的名称要和ADD命令后面的一样。
ENTRYPOINT ["java","-jar","/build_docke.jar"]
5.进入步骤1文件夹。执行一下命令:
注意:最后面的点。
docker build -t build_docke:v1 .
说明:
build_docke 代表要打包成的镜像名称。按照自己实际情况写。
:v1 代表版本号,可以不写则默认为latest
. 代表为当前目录。这就是为什么一直在步骤一文件夹中进行操作,并且Dockerfile在此文件夹中的原因。
若之前Dockerfile不在步骤一的文件夹中 则需要指定到对应的地址。【不建议】
打包成功如下:
可以使用 docker images命令查看所有的镜像。效果如下:
6.运行镜像,命令如下:
docker run --name build_docke -d -p 8080:8080 build_docke:v1
说明:
build_docke:运行时给镜像取的别名,自定义。
-d 代表要后台运行。
-p 代表要在后面要映射端口。
8080:8080 前者为docker的原项目端口,后者为服务器的端口且服务器要开放此端口。
build_docke 镜像的名称。
:v1 镜像的标签或者是版本号。为latest时可以不指定。
结果如下:
可以使用命令:docker logs 运行的镜像id 来查看运行日志 ,如下图:
注意,id可以根据命令:docker ps -a 来查看
7.访问: