将openjdk 8与该docker镜像一起使用时,我得到了此堆栈跟踪信息:openjdk:8-jre-alpine java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager at java.lang.Class.forName0(Native Method) [rt.jar:1.8.0_131] at java.lang.Class.forName(Class.java:348) [rt.jar:1.8.0_…

2020年11月6日 0条评论 57点热度 阅读全文

我的目标是使Alpine执行不受肌肉支持的JRE。这样做的动机是缩小图像大小,我已经在压缩JRE本身上取得了一定的进展,但是我发现的最小图像是ARM64v8 / debian:slim-9(50M)。很好,但是还不够。我没有发现支持musl的ARM64的JRE最高可达9。因此,可能的方向是 拍摄 Alpine 照片(约5M) 使其执行glibc Java代码(通过安装glibc APK) 对生成的图像运行JRE,希望最终图像大小小于20M。 这是我的步骤: 我在真实的ARM64硬件上所做的所有实验。 拉 Alpin…

2020年10月13日 0条评论 71点热度 阅读全文

我有一个要在 Alpine 中运行的Java应用程序。它具有GUI。我正在建立基于 Alpine /最新的图像。安装所有必需的软件包后,在运行应用程序时,我看到以下错误: [ERROR] [system.err] GLib (gthread-posix.c): Unexpected error from C library during 'pthread_cond_init': Invalid argument. Aborting. 在我看来,这类似于 glibc库的版本兼容性问题。 有关已安装的glib的信息: …

2020年9月26日 0条评论 49点热度 阅读全文

直到大约一周前,我已经在Java镜像上成功使用python 3.6脚本,如下所示: FROM openjdk:7-jre-alpine RUN apk update \ && apk upgrade \ && apk add --no-cache bash \ && apk add --no-cache --virtual=build-dependencies unzip \ && apk add --no-cache curl \ &&…

2020年9月12日 0条评论 36点热度 阅读全文

当我在容器内的容器中运行以下代码时,在上运行Java JDK 8的Docker 进行了测试 Alpine Linux import java.io.*; import java.util.*; import java.net.*; public class SomaDBTest { public static void main(String... args) throws Throwable { InetAddress ip = InetAddress.getByName("mysql"); System.out…

2020年8月18日 0条评论 34点热度 阅读全文

我必须为我的应用程序使用的一个API仅支持TLS连接的ECDHE密码。 PORT STATE SERVICE 443/tcp open https | ssl-enum-ciphers: | TLSv1.2: | ciphers: | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (rsa 2048) - A | TLS_ECDHE_RSA_WITH_AES_128…

2020年3月23日 0条评论 82点热度 阅读全文

宣布Java 11是最新的LTS版本。因此,我们正在尝试基于此Java版本启动新服务。 但是,Java 11的基本Docker镜像比Java 8的等效镜像大得多: openjdk:8-jre-alpine :84 MB openjdk:11-jre-slim : 283 MB (对于每个Java版本,我只考虑 official OpenJDK和 最轻量的图像。) 更深入的挖掘发现了以下“事物”: openjdk:11-jre-slim 图像使用基本图像debian:sid-slim。这带来了两个问题: ,它比alp…

2020年3月22日 0条评论 49点热度 阅读全文

在我创建的Alpine Linux docker容器上。我已经设置了一个非root用户来运行我的java(jboss)服务器。我试图授予它在端口<1024上运行的访问权限。结果,我不得不使用setcap为了向Java提供权限以在端口<1024上运行。 请注意,Alpine Linux 尚不存在authbind,因此这不是一个选项。建议使用Setcap。查看最终评论:https://github.com/gliderlabs/docker-alpine/issues/166 $ setcap cap_ne…

2020年3月6日 0条评论 44点热度 阅读全文

嗨,我正在使用一个 Alpine 镜像来安装适用于Java的opencv,但是我发现无法构建Java: FROM openjdk:8-alpine3.9 ENV ANT_VERSION 1.10.5-r0 ENV ANT_HOME /usr/share/java/apache-ant ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk ENV JAVA_APPEND_LIBRARY_DIRECTORIES ${JAVA_HOME}/lib/amd64 ENV JAVA_AWT_I…

2019年12月22日 0条评论 34点热度 阅读全文

有点背景。 我的目标是在ARM64上使用JRE创建超薄的docker镜像。这是可能影响最终图像尺寸的一些区域。 使用JAVA 9及更高版本使我可以利用新的Java模块功能。 将Alpine用于ARM64可提供超薄的基本镜像。 到目前为止,我所做的是: 有适用于ARM64的OpenJDK 9及更高版本,使用模块功能,我得到的JRE大小约为30M,这是一个了不起的成就。 现在,我正在努力转向Alpine基本镜像,它需要使用musl-libc编译OpenJDK。 我设法用glibc重新编译了持久的OpenJDK,我的问题…

2019年12月17日 0条评论 62点热度 阅读全文