前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >修改docker镜像版本,容器大小缩小10%!

修改docker镜像版本,容器大小缩小10%!

原创
作者头像
shigen
发布2024-04-24 10:27:25
1040
发布2024-04-24 10:27:25
举报

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 个人IP:shigen

是的,你看的没错:修改docker镜像的版本,我的容器大小缩小到了10%。效果如下:

效果对比
效果对比

其中,1.0.0属于老版本。

好的,进入正题。之前开源的工具开源的局域网文件共享工具更新到v1.0啦,相信伙伴们或多或少有使用过。

🗂「file-server」是一个开箱即用的局域网文件共享工具,扫码即可上传文件,点击即可下载文件

也经过了多轮的更新,目前最新的版本是1.0.0,引入了docker容器,简化服务的部署。但是在我的md中,也提到了一个问题:

docker景象存在的问题
docker景象存在的问题

也就是我的容器体积太大了。众所周知,这是一个小服务,这么大的体积,着实让人着急!而且,遇到了在外边想要多设备同步文件,真的太麻烦了。

昨天去市民之家,想要在电脑上打印文件,可把我愁死了!最后用的还是微信文件传输。

所以,我上午想了一下我的觉得我的【file-server】服务很不错了,我为什么局限在局域网呢,不能放在公网吗?局域网的优势在于省流量、安全;公网则可以实现任何地方任何网络都可以访问。所以说干就干。

先列举一下问题:

  • 容器的瘦身
  • 服务的安全,我并不是任何人都可以访问

摆在眼前的就是【容器瘦身】问题。参考了文章:在Docker中部署Python项目,以及压缩Docker镜像大小

为此,我特意查询了docker各个容器版本的区别:

镜像版本

特点

Alpine

轻量级,体积小,适合构建精简容器

Slim

基于 Debian,相对小巧,去除不必要软件包

Stretch

Debian 稳定版本,包含较新软件包和库

Buster

Debian 下一个稳定版本,提供更新软件包和库

Jessie

Debian 旧版本,不再提供官方支持

Bullseye

Debian 下一个测试版本,包含最新软件包和库

最终选择了alpine版本作为容器的基础镜像版本。

修改docker镜像版本

修改docker镜像版本
修改docker镜像版本

重新构建

代码语言:shell
复制
docker build -t file-server:1.0.1 .

构建过程稍微漫长,建议提前下载好基础的镜像版本再去构建。

构建过程
构建过程

启动容器

代码语言:shell
复制
$ docker run -d -p 9000:9000 --name file-server-1-0-1 -v $(pwd)/file:/app/upload file-server:1.0.1
03e7463c3967b1a32304c4e19473d4153e4a5bc6b5ee23a4b6a6b82f5f25656d

功能验证

功能验证-文件列表
功能验证-文件列表

尝试上传和下载,都没有任何的问题。

在此,file-server的镜像版本的瘦身完成,shigen也将在filer-server-Github上发布最新的1.0.2版本,欢迎大家的使用。

与shigen一起,每天不一样!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修改docker镜像版本
  • 重新构建
  • 启动容器
  • 功能验证
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档