shigen
坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。
个人IP:shigen
是的,你看的没错:修改docker镜像的版本,我的容器大小缩小到了10%。效果如下:
其中,1.0.0属于老版本。
好的,进入正题。之前开源的工具开源的局域网文件共享工具更新到v1.0啦,相信伙伴们或多或少有使用过。
🗂「file-server」是一个开箱即用的局域网文件共享工具,扫码即可上传文件,点击即可下载文件
也经过了多轮的更新,目前最新的版本是1.0.0
,引入了docker容器,简化服务的部署。但是在我的md中,也提到了一个问题:
也就是我的容器体积太大了。众所周知,这是一个小服务,这么大的体积,着实让人着急!而且,遇到了在外边想要多设备同步文件,真的太麻烦了。
昨天去市民之家,想要在电脑上打印文件,可把我愁死了!最后用的还是微信文件传输。
所以,我上午想了一下我的觉得我的【file-server】服务很不错了,我为什么局限在局域网呢,不能放在公网吗?局域网的优势在于省流量、安全;公网则可以实现任何地方任何网络都可以访问。所以说干就干。
先列举一下问题:
- 容器的瘦身
- 服务的安全,我并不是任何人都可以访问
摆在眼前的就是【容器瘦身】问题。参考了文章:在Docker中部署Python项目,以及压缩Docker镜像大小。
为此,我特意查询了docker各个容器版本的区别:
镜像版本 | 特点 |
---|---|
Alpine | 轻量级,体积小,适合构建精简容器 |
Slim | 基于 Debian,相对小巧,去除不必要软件包 |
Stretch | Debian 稳定版本,包含较新软件包和库 |
Buster | Debian 下一个稳定版本,提供更新软件包和库 |
Jessie | Debian 旧版本,不再提供官方支持 |
Bullseye | Debian 下一个测试版本,包含最新软件包和库 |
最终选择了alpine
版本作为容器的基础镜像版本。
修改docker镜像版本
重新构建
docker build -t file-server:1.0.1 .
构建过程稍微漫长,建议提前下载好基础的镜像版本再去构建。
启动容器
$ 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一起,每天不一样!