TOC
本文打包的rust应用是基于actix-web
开发的包含expose metrics的web应用.
Rust应用容器化的几种方式
- 编写Dockerfile,使用rust镜像编译并且用rust/centos/alpine镜像来作为最终运行
- 使用buildpacks工具构建镜像
Dockerfile和运行时镜像
Rust镜像作为运行时
这种方式打包出来的镜像大小是GB级别的…
Centos镜像作为运行时
镜像大小为245MB
使用这种方式打包好镜像后尝试运行,发现报错了,运行不了/lib64/libc.so.6: version 'GLIBC_2.18' not found
主要是由于Centos7中的glibc版本太低了,这里简单的做法是将centos7替换成了centos8解决了这个问题.
alpine镜像作为运行时
遇到的问题:standard_init_linux.go:228: exec user process caused: no such file or directory
buildpacks
Rust可用的几种buildpack可以看Paketo社区的Rust buildpack
发现报错了,还没找到原因.
微信公众号
扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。
温馨提示
本文还在持续创作中,如果你对本文主题感兴趣可以加我微信好友进行催更,博客下方可以找到我的微信联系方式 :)