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 : 用于复制构建环境中的文件或目录到镜像中, 如果使用的是本地归档文件(gzip
、bzip2
、xz
)时,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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥