【问题标题】:Making an Oracle JDK docker image制作 Oracle JDK docker 镜像
【发布时间】:2018-03-03 12:57:16
【问题描述】:

我正在尝试为 oracle JDK 创建 docker 映像,但我能找到的唯一映像是开放的 JDK。我们的应用程序使用 oracle JDK,因此必须构建 oracle JDK docker 映像。我的问题是是否有任何方法可以从 tar 文件或类似文件构建自定义的 docker 映像。如果可以的话,我会在 docker 文件 FROM arg 中写什么?

【问题讨论】:

    标签: java docker openshift dockerfile


    【解决方案1】:

    这里有一个Atlassian blog post,它描述了如何构建一个 Oracle JDK docker 容器。

    这是一个现有的Oracle JDK image on docker hubanother

    不过,请注意自述文件中的许可免责声明。我不确定这是否足以绕过Oracle JDK License 中的“重新分发限制”条款。使用他们的 Dockerfile 和博客作为创建自己的基础可能更安全。只需将其放在私人仓库而不是 docker hub 上。

    为了完整起见,以下是博文中的 Dockerfile 内容:

    # AlpineLinux with a glibc-2.21 and Oracle Java 8
    
    FROM alpine:3.2
    MAINTAINER Anastas Dancha [...]
    
    # Install cURL
    RUN apk --update add curl ca-certificates tar && \
        curl -Ls https://circle-artifacts.com/gh/andyshinn/alpine-pkg-glibc/6/artifacts/0/home/ubuntu/alpine-pkg-glibc/packages/x86_64/glibc-2.21-r2.apk > /tmp/glibc-2.21-r2.apk && \
        apk add --allow-untrusted /tmp/glibc-2.21-r2.apk
    
    # Java Version
    ENV JAVA_VERSION_MAJOR 8
    ENV JAVA_VERSION_MINOR 45
    ENV JAVA_VERSION_BUILD 14
    ENV JAVA_PACKAGE       jdk
    
    # Download and unarchive Java
    RUN mkdir /opt && curl -jksSLH "Cookie: oraclelicense=accept-securebackup-cookie"\
      http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-b${JAVA_VERSION_BUILD}/${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz \
        | tar -xzf - -C /opt &&\
        ln -s /opt/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} /opt/jdk &&\
        rm -rf /opt/jdk/*src.zip \
               /opt/jdk/lib/missioncontrol \
               /opt/jdk/lib/visualvm \
               /opt/jdk/lib/*javafx* \
               /opt/jdk/jre/lib/plugin.jar \
               /opt/jdk/jre/lib/ext/jfxrt.jar \
               /opt/jdk/jre/bin/javaws \
               /opt/jdk/jre/lib/javaws.jar \
               /opt/jdk/jre/lib/desktop \
               /opt/jdk/jre/plugin \
               /opt/jdk/jre/lib/deploy* \
               /opt/jdk/jre/lib/*javafx* \
               /opt/jdk/jre/lib/*jfx* \
               /opt/jdk/jre/lib/amd64/libdecora_sse.so \
               /opt/jdk/jre/lib/amd64/libprism_*.so \
               /opt/jdk/jre/lib/amd64/libfxplugins.so \
               /opt/jdk/jre/lib/amd64/libglass.so \
               /opt/jdk/jre/lib/amd64/libgstreamer-lite.so \
               /opt/jdk/jre/lib/amd64/libjavafx*.so \
               /opt/jdk/jre/lib/amd64/libjfx*.so
    
    # Set environment
    ENV JAVA_HOME /opt/jdk
    ENV PATH ${PATH}:${JAVA_HOME}/bin
    

    【讨论】:

      猜你喜欢
      • 2019-08-21
      • 1970-01-01
      • 2019-03-21
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 2015-05-19
      • 2022-10-15
      • 2013-08-18
      相关资源
      最近更新 更多