gpt4 book ai didi

docker - 版本 `GLIBC_2.29' 未找到

转载 作者:行者123 更新时间:2023-12-03 11:43:48 26 4
gpt4 key购买 nike

我的 dockerfile 基于 rust基础图像。
将我的图像部署到 azure 容器时,我收到以下日志:./bot: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./bot)./bot 是我的应用程序。
当我执行 docker run 时也会发生错误在我的 Linux Mint 桌面上。
如何将 GLIBC 放入我的容器中?
Dockerfile

FROM rust:1.50
WORKDIR /usr/vectorizer/

COPY ./Cargo.toml /usr/vectorizer/Cargo.toml
COPY ./target/release/trampoline /usr/vectorizer/trampoline
COPY ./target/release/bot /usr/vectorizer/bot
COPY ./target/release/template.svg /usr/vectorizer/template.svg

RUN apt-get update && \
apt-get dist-upgrade -y && \
apt-get install -y musl-tools && \
rustup target add x86_64-unknown-linux-musl

CMD ["./trampoline"]

最佳答案

现在我不完全了解您的特定项目的依赖关系,但以下 Dockerfile应该让你开始。
您要做的是在具有所有开发依赖项的镜像中编译,然后将构建工件移动到一个更小(但兼容)的镜像。

FROM rust:1.50 as builder

RUN USER=root

RUN mkdir bot
WORKDIR /bot
ADD . ./
RUN cargo clean && \
cargo build -vv --release

FROM debian:buster-slim

ARG APP=/usr/src/app

ENV APP_USER=appuser

RUN groupadd $APP_USER \
&& useradd -g $APP_USER $APP_USER \
&& mkdir -p ${APP}

# Copy the compiled binaries into the new container.
COPY --from=builder /bot/target/release/bot ${APP}/bot

RUN chown -R $APP_USER:$APP_USER ${APP}

USER $APP_USER
WORKDIR ${APP}

CMD ["./trampoline"]

关于docker - 版本 `GLIBC_2.29' 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66484445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com