这个小教程记录怎么在Docker打包、运行自己的SpringBoot应用,基本思路是在自己的程序目录配置自定义的Dockerfile文件,然后利用Docker自带的打包镜像的命令生成本地镜像即可使用。
在Linux虚拟机上准备Java运行环境,我使用了Java8;
将你的SpringBoot程序打包成jar包,可以使用IDEA自带的Maven小工具直接打包成jar包。该jar包内嵌了Tomcat,所以只要操作系统有Java运行环境,直接命令行执行类似“java -jar XXX.jar”就可以运行该jar包程序了。
准备SpringBoot应用的jar包和程序文件夹,其中目录:yanru_springboot/eureka相当于程序文件夹 ,文件目录如图,如图我使用了Xftp小工具,本机连接到了我的Linux虚拟机(我学Linux用的虚拟机,本机Windows操作系统),使用Xftp在Windows中操作虚拟机上的文件。
配置Dockerfile文件内容,如下截图是我看的老师的课程视频截图,注意Dockerfile文件不需要带文件后缀:
# based on whitch image application for keyword "From", then "java:8" means java version 8
# put current file into cucrrent container, not necessary
# copy file to container, attention please, "yanru-springboot.jar“ is the real application name in your folder
ADD yanru-springboot.jar /app.jar
# use whitch port to visit, in my web application, I use 8080 to visit
# excute whitch command when container started, this command means start my application with java command
ENTRYPOINT ["java", "-jar", "/app.jar"]
使用docker build命令构建镜像,注意最后的小点‘.’执行该行命令前,切换到/eureka目录内部,因为这个“.”表示Dockerfile的路径目录,如果直接切换到Dockerfile所在目录直接填"."就可以了。其中yanru_spring_boot表示生成镜像的名称,0.0.1表示镜像的版本号标签,”:“后的版本号标签不是必须的,我从镜像仓库查看的有些镜像也是版本号为空的。
注意,镜像的名称不允许出现大写字母否则会报错的,打包镜像的命令:
# docker build -t yanru_spring_boot:0.0.1 .
# 格式:docker build -t镜像名称:标签Dockerfie的相对位置
在这里,使用-t选项指定了镜像的标签,执行该命令后,终竦将会输出如下的内容:
使用docker images 查看当前所有的镜像,确保镜像存在,镜像如果真的存在,下一步就可以启动容器了
运行容器以启动一个镜像,命令如题,启动容器后顺手执行下docker ps以确认你的容器正在运行:
其中8080是镜像内部的程序原本使用的端口,8762是宿主机访问端口,我故意区分了一下。
我的测试小程序是一个Web小应用。其中前面的IP是我的虚拟机内网地址,http://192.168.26.132:8762/index.html
运行效果,嘿嘿,这是我做的一个简单的计算器小程序哈哈。(* ̄︶ ̄)