cod*_*kin 9 java musl dockerfile docker-compose
有没有人在尝试执行命令时遇到此错误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
Run Code Online (Sandbox Code Playgroud)
我试图按照我在网上阅读的建议来修复它,但没有任何效果。
我努力了:
阅读这篇文章后: https: //github.com/nodejs/help/issues/3239 添加以下内容
platform: linux/amd64
Run Code Online (Sandbox Code Playgroud)
到我的 docker-compose 文件,但没有什么区别
并FROM --platform=linux/amd64在我的 Dockerfile 前面尝试过
当我读到这篇文章时,我也尝试安装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
Run Code Online (Sandbox Code Playgroud)
我的 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" ]
Run Code Online (Sandbox Code Playgroud)
我的 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"
Run Code Online (Sandbox Code Playgroud)
我在 M1 mbp 上运行这个
我在这里阅读了这篇文章,试图正确构建我的 Dockerfile,因为我需要使用 Java 11。
如果有人在这里有任何见解,我们将不胜感激。
小智 2
看来 azul/zulu-openjdk-alpine:11 没有在 Apple 芯片架构上运行所需的 arm64 映像。
尝试更新到支持arm64的jdk 17镜像https://hub.docker.com/r/azul/zulu-openjdk-alpine/
| 归档时间: |
|
| 查看次数: |
14988 次 |
| 最近记录: |