突然docker run找不到libz.so.1

突然docker run找不到libz.so.1

几周来我一直在使用 docker build 和 docker run,一切正常。我想放入容器中的可执行文件也运行正常。
突然我收到这个我不明白的错误:

root@DESKTOP-EVLULFV:/home/simple/simple# docker run -i -p 8080:8080 --name simple --platform linux/amd64 quarkus/simple

./application:加载共享库时出错:libz.so.1:无法打开共享对象文件:没有此文件或目录

libz.so.1 位于 /usr/lib/x86_64-linux-gnu 中,我将该文件夹放在我的路径中。

我使用以下命令成功构建了我的 docker 镜像:

docker build -f Dockerfile.native -t quarkus/simple 。

我想检查容器,但它没有运行。

我如何告诉 Docker libz.so.1 在哪里?

答案1

没关系,修好了

我从我的docker文件中删除了以下垃圾。

FROM busybox

COPY . /build-context

WORKDIR /build-context

CMD find .

这是有效的:

####
# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode.
#
# Before building the container image run:
#
# ./mvnw package -Dnative
#
# Then, build the image with:
#
# docker build -f Dockerfile.native -t quarkus/simple .
#
# Then run the container using:
#
# docker run -i --rm -p 8080:8080 quarkus/simple
#
###
FROM ubuntu:20.04

WORKDIR /work/
RUN chown 1001 /work \
    && chmod "g+rwX" /work \
    && chown 1001:root /work
COPY --chown=1001:root target/*-runner /work/application

EXPOSE 8080
USER 1001

ENTRYPOINT ["./application", "-Dquarkus.http.host=0.0.0.0"]

相关内容