Springboot 生成docker image

前段日子搭建了一个kubenetes集群,kubenetes是需要载入docker image来运行应用的。

我使用的是Springboot框架,因此向大家分享一下Springboot生成docker image的一个方法。不对的地方请指教~

一、Springboot生成jar包

  docker image生成需要用到项目build生成的jar包,因此第一步你需要生成一个jar包。maven项目,命令是:

 

1
mvn clean package

 

  

二、Dockerfile

  1、jar生成完毕后,需要创建一个Dockerfile文件(文本类型的)来生成docker image。我的Dockerfile如下:

1
2
3
4
FROM openjdk:8
LABEL app="blogtest" version="0.0.1"
ADD Blog-0.0.1-SNAPSHOT.jar app.jar
CMD java -jar app.jar

    FROM : 制定基础镜像;

    VOLUME :挂载一个目录到主机目录

    LABLE : 用于为镜像添加元数据,元数以键值对的形式指定

    ADD : 用于复制构建环境中的文件或目录到镜像中, 如果使用的是本地归档文件(gzipbzip2xz)时,Docker会自动进行解包操作,类似使用tar -x.

    CMD : 用于指定在容器启动时所要执行的命令

    再具体的各种Dockerfile相关命令,可以查看 https://itbilu.com/linux/docker/VyhM5wPuz.html#cmd-cmd

  2、Dockerfile写完了,接下来就是命令运行Dockerfile来build docker image,命令如下:

1
docker build -t test --force-rm .

      --force-rm : 始终移除中间容器

    可以使用下面的命令查看docker image是都创建成功:

1
docker images

  3、最后,在本地试试docker build出来的image 是否可以跑起来,下面的run命令:

1
docker run --name ContainerName -p 8888:8888 -d test

    --name :为容器指定一个名称

    -p :  端口映射,格式为:主机(宿主)端口:容器端口

    -d : 后台运行容器,并返回容器ID

    还有其他docker run的命令:可以查看 http://www.runoob.com/docker/docker-run-command.html

posted @   console.log('宇航')  阅读(340)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示