java - 如何在 Alpine linux docker 镜像中安装 oracle jdk11?
问题描述
我的 Dockerfile:
FROM frolvlad/alpine-glibc:latest
ADD jdk-11.0.6_linux-x64_bin.tar.gz /usr/java
ENV JAVA_HOME=/usr/java/jdk-11.0.6
ENV PATH=$JAVA_HOME/bin:$PATH
java -version
当我在容器中
运行命令时,我得到了这个段错误:
我怎么解决这个问题?
解决方案
frolvlad/alpine-glibc
是支持 glibc 的 Alpine Linux 映像,jdk-11.0.6_linux-x64_bin.tar.gz
很可能是大陆 Linux JDK glibc 构建。从理论上讲,这应该没问题,但可能存在导致这种情况的微妙 glibc 不兼容性。
如果您正在 Alpine 上寻找 Java 11,您可以获取 vanilla Alpine 3.11 映像,然后将openjdk11
软件包安装在顶部:
sudo docker run -it alpine:3.11
# apk add openjdk11
# java -version
openjdk version "11.0.5" 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-alpine-r0)
OpenJDK 64-Bit Server VM (build 11.0.5+10-alpine-r0, mixed mode)
如果您特别需要 11.0.6,请安装存储库的最新openjdk11
包edge/community
:
apk add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
推荐阅读
- c# - 如何在 ac# 类中以编程方式知道打开的 .docx 文件是“严格的”还是“过渡的”
- reactjs - 如何在每次加载时将 React 中的页面名称和 URL 保存到 Redux 存储
- python - python文本文件中“r+”模式下的意外读/写行为
- sql - SQL:交叉应用将名称拆分为名字、姓氏和 MI
- r - 如何通过字符串识别功能使用 lapply 将新列添加到嵌套列表
- scala - Scala:如何逃避文字中的反引号?
- c# - 如何根据平台使一行代码不活动?
- c - 如何在 C 程序中设置日志记录优先级?
- jquery - 如何制作 Jquery AJAX 帖子以填充表格而不会出现错误的 url?
- html - 从 PDF 中的 HTML 背景颜色创建 PDF