【问题标题】:qemu-x86_64: Could not open '/lib/ld-musl-x86_64.so.1': No such file or directoryqemu-x86_64:无法打开'/lib/ld-musl-x86_64.so.1':没有这样的文件或目录
【发布时间】:2022-07-13 23:14:39
【问题描述】:

有没有人在尝试执行docker-compose up 命令时遇到此错误。

我试图通过查看其他涉及类似内容的文章来解决它,但我没有成功。

我正在尝试使用 docker-compose 文件运行我的 Spring Boot 应用程序,但我不断收到此错误:

qemu-x86_64: Could not open '/lib/ld-musl-x86_64.so.1': No such file or directory

我已尝试按照我在网上阅读的建议进行修复,但没有任何效果。

我试过了:

看完这篇文章:https://github.com/nodejs/help/issues/3239 添加以下内容

platform: linux/amd64

到我的 docker-compose 文件,但它没有任何区别

并在我的 Dockerfile 前面尝试了FROM --platform=linux/amd64

当我读到这篇文章时,我也尝试安装musl,但未能执行make 命令

curl https://musl.libc.org/releases/musl-1.2.2.tar.gz -o musl-1.2.2.tar.gz
tar -xvf musl-1.2.2.tar.gz
cd musl-1.2.2
./configure
make 
make install

我的 Docker 文件如下所示

FROM azul/zulu-openjdk-alpine:11 as packager

RUN { \
        java --version ; \
        echo "jlink version:" && \
        jlink --version ; \
    }

ENV JAVA_MINIMAL=/opt/jre

# build modules distribution
RUN jlink \
    --verbose \
    --add-modules \
        java.base,java.sql,java.naming,java.desktop,java.management,java.security.jgss,java.instrument \
        # java.naming - javax/naming/NamingException
        # java.desktop - java/beans/PropertyEditorSupport
        # java.management - javax/management/MBeanServer
        # java.security.jgss - org/ietf/jgss/GSSException
        # java.instrument - java/lang/instrument/IllegalClassFormatException
    --compress 2 \
    --strip-debug \
    --no-header-files \
    --no-man-pages \
    --output "$JAVA_MINIMAL"

# Second stage, add only our minimal "JRE" distr and our app
FROM alpine

ENV JAVA_MINIMAL=/opt/jre
ENV PATH="$PATH:$JAVA_MINIMAL/bin"

COPY --from=packager "$JAVA_MINIMAL" "$JAVA_MINIMAL"
COPY "build/libs/company-coordinator-app-0.0.1-SNAPSHOT.jar" "/company-coordinator-app.jar"

EXPOSE 8080
CMD [ "-jar", "/company-coordinator-app.jar" ]
ENTRYPOINT [ "java" ]

我的 docker-compose.yml 文件看起来像这样

    version: '2'
services:
  company-coordinator-app:
    container_name: 'company-coordinator-app'
    build:
        context: /Users/ciaran/cmkdev/company-coordinator-project/company-coordinator-app
        dockerfile: Dockerfile
    image: springio/gs-spring-boot-docker
    ports:
      - "8080:8080"

我在 M1 mbp 上运行它

我在这里阅读了这篇文章,试图正确构建我的 Dockerfile,因为我需要使用 Java 11。

Java 11 application as lightweight docker image

如果有人在这里有任何见解,将不胜感激。

【问题讨论】:

    标签: java docker-compose dockerfile musl


    【解决方案1】:

    似乎 azul/zulu-openjdk-alpine:11 没有在 Apple 硅架构上运行所需的 arm64 映像。

    尝试更新到支持 arm64 的 jdk 17 映像https://hub.docker.com/r/azul/zulu-openjdk-alpine/

    【讨论】:

      猜你喜欢
      • 2022-10-07
      • 2016-03-20
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 2021-07-19
      • 2013-04-05
      • 1970-01-01
      相关资源
      最近更新 更多