解决Rust二进制程序无法部署在Alpine容器中的问题
文章目录
问题介绍
使用Rust开发的程序通过cargo build构建成功后在Ubuntu环境中运行良好,但当通过Docker使用Alpine容器部署该程序时,Dockerfile文件如下:
FROM alpine
COPY ./app /root/lib
ENTRYPOINT ["/root/lib"]构建镜像正常,但当运行镜像时发生以下错 误:
Error loading shared library libgcc_s.so.1: No such file or directory (needed by ./lib)解决方案
在Alpine容器中安装libgcc
apk add --no-cache -U libgcc即将Dockerfile更改为下:
FROM alpine
COPY ./app /root/lib
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
RUN apk add --no-cache -U libgcc
ENTRYPOINT ["/root/lib"]
评论
还没有留言,欢迎分享你的想法。
写下你的留言
填写即同意接收本条留言的审核通过和回复通知。邮箱仅用于通知,以加密形式保存,不会公开展示。
提交时使用 Cloudflare Turnstile 验证以减少垃圾评论。留言通过邮件送交审核,通过后随网站更新显示。支持纯文本,请勿填写隐私信息。
草稿(含昵称和邮箱)仅保存在此浏览器,提交成功后清除。