【问题标题】:How to download specific version in dockerfile?如何在 dockerfile 中下载特定版本?
【发布时间】:2019-05-13 08:47:06
【问题描述】:

我是写码头工人的新手。我需要为它下载特定的java版本:

FROM alpine:3.9
RUN apk add bash && apk add openjdk8 && apk add R && apk add  perl

这是有效的,但它会下载最新版本的 java - 1.8.0_212。 我需要特定版本1.8.0_171,所以我尝试了以下,它没有工作:

RUN apk add bash && apk add openjdk8=1.8.0_171 && apk add R && apk add  perl

有人知道如何获取具体版本吗?

【问题讨论】:

标签: java docker dockerfile


【解决方案1】:

试试这个

ARG JAVA_VERSION_MAJOR=8
ARG JAVA_VERSION_MINOR=131
ARG JAVA_VERSION_BUILD=11
ARG JAVA_PACKAGE=server-jre
ARG JAVA_SHA256_SUM=a80634d17896fe26e432f6c2b589ef6485685b2e717c82cd36f8f747d40ec84b
ARG JAVA_URL_ELEMENT=d54c1d3a095b4ff2b6607d096fa8016


# Download and unarchive Java
RUN apk add --update curl && \
  mkdir -p /opt 

RUN wget -c --header "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_URL_ELEMENT}/${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz
RUN mv ${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz java.tar.gz
RUN gunzip -c java.tar.gz | tar -xf - -C /opt && rm -f java.tar.gz && \
  ln -s /opt/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} /opt/jdk

RUN apk add unzip
RUN curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip && \
  unzip jce_policy-8.zip -d /tmp && \
  cp /tmp/UnlimitedJCEPolicyJDK8/*.jar /opt/jdk/jre/lib/security/ && \
  rm -rf jce_policy-8.zip /tmp/UnlimitedJCEPolicyJDK8 && \
  apk del curl && \
  rm -rf /var/cache/apk/*

ENV JAVA_HOME /opt/jdk
ENV PATH ${PATH}:${JAVA_HOME}/bin

【讨论】:

    【解决方案2】:

    这对我有用:

    ENV JAVA_VERSION 10.0.2 # your java version
    ENV JAVA_HOME /java
    RUN apt-get update        
    RUN apt-get install -y wget cron vim unzip bzip2 && apt-get clean
    RUN wget -c --header "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_URL_ELEMENT}/${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz \
        && mkdir -p $JAVA_HOME \
        && tar -xvzf jdk-10.0.2_linux-x64_bin.tar.gz -C $JAVA_HOME
    

    【讨论】:

      猜你喜欢
      • 2019-07-21
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      相关资源
      最近更新 更多