1.将SpringBoot项目打jar包
这里打包的是xxl-job任务调度系统的调度器。
2.编写Dockerfile
FROM java:8VOLUME /tmpADD xxl-job-admin.jar /app.jarRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeRUN echo 'Asia/Shanghai' > /etc/timezoneEXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"]
• FROM:表示基础镜像,即运行环境
• VOLUME:/tmp SpringBoot使用的内嵌Tomcat容器默认使用 /tmp 作为工作目录
• ADD:拷贝文件并且重命名
• EXPOSE:并不是真正的发布端口,这个只是容器部署人员与建立image的人员之间的交流,即建立image的人员告诉容器布署人员容器应该映射哪个端口给外界
• ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar
3.构建镜像
构建镜像用的就是文件夹里的Dockerfile文件,所以命令要在 Dockerfile 和 jar 文件夹内执行。
$ docker build -t xxlJob .
4.启动容器
$ docker run -di --name jobadmin -p 8080:8080 xxljob
-di 表示后台运行容器,这也就自然地解决的Spring Boot不支持后台运行应用程序的问题。
-p 是做端口映射,此时将服务器中的8080端口映射到容器中的8085(项目中端口配置的是8085)端口。
–name 给容器取一个容易记住的名字方便日后管理。
$ docker ps -aCONTAINER ID IMAGECOMMANDCREATEDSTATUSPORTS NAMESe81b2cc0caf9 xxljob "java -jar /app.jar" 12 minutes ago Up 12 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp jobadmin
查看项目启动情况
5.查看运行日志
$ docker logs -f --tail=100 jobadmin
【Linux部署】Spring Boot 项目部署在Linux环境下的Docker容器内举例【任务调度系统 xxl-job 任务调度中心】(手动版)
如果觉得《【Linux部署】Spring Boot 项目部署在Linux环境下的Docker容器内举例【任务调度系统》对你有帮助,请点赞、收藏,并留下你的观点哦!