rust liunx 下打包成静态单体(像golang一样,无依赖)
·
在linux下打包成静态单体,第一种方式就是加上的编译目标--target参数,--target的值可以用rustup target list查看
cargo build --release --target=x86_64-unknown-linux-musl
还可以用docker容器的方案来打包静态单体。官方rust镜像https://hub.docker.com/_/rust/ 里面有一些如何使用。这里只介绍我用到方式:
docker run --rm --user "$(id -u)":"$(id -g)" -v /rust/demo:/usr/src/myapp -w /usr/src/myapp rust:latest rustup target add x86_64-unknown-linux-musl && cargo build --release --target=x86_64-unknown-linux-musl
因为rust官方镜像默认没有安装rx86_64-unknown-linux-musl,所以需要用rustup target add x86_64-unknown-linux-musl 命令进行安装(但这样子,每次都需要下载add x86_64-unknown-linux-musl进行安装,会很费时间,所以可以把当前容器保存为镜像)。
用ldd命令查看打包成的单体执行文件,可以看到无依赖:
[root@k8s-master connect]# ldd frame-ioc
不是动态可执行文件
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)