Springboot打包为Docker镜像并部署的实现⼀、Springboot项⽬运⾏正常
打包前,Springbooot项⽬在本地必须是运⾏正常的。我们这⾥使⽤本专栏写起来的项⽬,如下所⽰:
来访问⼀下我们接⼝,做连通性验证测试:
注意这⾥的地址是本地地址,因为我是在本地IDEA⾥⾯运⾏的项⽬!
⼆、Maven打包项⽬
执⾏如下命令即可:
// 先清空再打包
mvn clean package
打包成功之后如下所⽰,提⽰BUILD SUCCESS,target⽬录下会有打好的jar包:
注意:此处我们打包为jar包,直接部署在Docker中。如果打为war包,则需要在Docker中先部署Tomcat(或者直接拉取Tomcat镜像),然后再将war包部署在Tomcat中,我们不搞那么复杂。
三、打包镜像前准备
1、创建⼀个⽂件夹
mkdir dockerFile
2、进⼊⽂件夹,创建⽂件:Dockerfile(必须是这个⽂件名)
cd dockerFile
touch Dockerfile
3、将我们Springboot打包成的jar包也放在这个⽂件夹
ls
Dockerfile hello_springboot.jar
四、关键⼀步:编写Dockerfile
Dockerfile的详解请阅读本专栏上⼀篇⽂章!
⼀个极简的例⼦:
# 拉取基础镜像
FROM java:8
# 设置作者信息
MAINTAINER suiyi "suiyi@666"
# 把hello_springboot.jar添加到容器⾥,并重命名为app.jar
# 因为hello_springboot.jar和Dockerfile在同⼀个⽬录下,所以只写⽂件名即可
ADD hello_springboot.jar app.jar
# 设置端⼝号,此处只开放⼀个端⼝8083
EXPOSE 8083
# 执⾏命令,此处运⾏app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","app.jar"]
五、打包Docker镜像
运⾏⼀条命令即可(注意最后有个.号):
docker build -f Dockerfile -t hello_spring:v1.0 .
-f:指定Dockerfile⽂件
-
t:指定镜像的标签信息
可以使⽤如下命令查看具体参数的作⽤:
docker build --help
执⾏成功后如下所⽰:
六、运⾏镜像
先看看有没有我们的docker镜像:
maven打包本地jar包docker images
运⾏我们的镜像:
// -p后⾯有两个端⼝,分别是:宿主机端⼝:容器端⼝
docker run -p 8083:8083 --name=hello_spring hello_spring:v1.0
以上是没有后台运⾏的情况,如果要后台运⾏,则添加-d参数即可:// -p后⾯有两个端⼝,分别是:宿主机端⼝:容器端⼝
docker run -d -p 8083:8083 --name=hello_spring hello_spring:v1.0
⾮后台运⾏之后效果如下:
七、验证部署的项⽬
我们来访问⼀下我们接⼝,做连通性测试:
注意这⾥的地址是部署Docker机器的地址,可见我们已经成功将我们的Springboot项⽬打包成Docker并部署运⾏了!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论