From a916580871c73c81de1e786b4dee55a5537cb6bb Mon Sep 17 00:00:00 2001 From: Qi Zheng Date: Mon, 25 Nov 2019 01:47:53 +0000 Subject: [PATCH] Add openjdk 8 Signed-off-by: Qi Zheng --- docker-hooks.sh | 20 ++++++++++++----- openjdk/{ => 13}/Dockerfile | 0 openjdk/{ => 13}/hooks/post_push | 2 +- openjdk/8/Dockerfile | 38 ++++++++++++++++++++++++++++++++ openjdk/8/hooks/post_push | 7 ++++++ 5 files changed, 60 insertions(+), 7 deletions(-) rename openjdk/{ => 13}/Dockerfile (100%) rename openjdk/{ => 13}/hooks/post_push (77%) create mode 100644 openjdk/8/Dockerfile create mode 100755 openjdk/8/hooks/post_push diff --git a/docker-hooks.sh b/docker-hooks.sh index 444920e..cd072d3 100644 --- a/docker-hooks.sh +++ b/docker-hooks.sh @@ -36,8 +36,10 @@ function get_tags_in_docker { echo $tags } -# For version format x.y.z, three tags as below -# x.y.z, x.y and x +# Do tagging and tagged image push +# param 1, exact tag, x.y.z +# param 2, container image name +# param 3 (optional), base tag name, default is "latest" function tag_and_push { # For version format x.y.z, three tags as below # tag: x.y.z @@ -47,24 +49,30 @@ function tag_and_push { local tag1=${tag%.*} local tag2=${tag%%.*} local image=$2 + local base=$3 + + if [ -z "$base" ]; then + base=latest + fi set -e - docker tag $image:latest $image:$tag + docker tag $image:$base $image:$tag docker push $image:$tag - docker tag $image:latest $image:$tag1 + docker tag $image:$base $image:$tag1 docker push $image:$tag1 - docker tag $image:latest $image:$tag2 + docker tag $image:$base $image:$tag2 docker push $image:$tag2 } function do_tag { local image=$1 local pkg=$2 + local base=$3 echo "=> Tagging the $image" local tag=$(get_tag $pkg) if [ $? -eq 0 ] && [ -n "$tag" ]; then - tag_and_push $tag $image + tag_and_push $tag $image $base fi } diff --git a/openjdk/Dockerfile b/openjdk/13/Dockerfile similarity index 100% rename from openjdk/Dockerfile rename to openjdk/13/Dockerfile diff --git a/openjdk/hooks/post_push b/openjdk/13/hooks/post_push similarity index 77% rename from openjdk/hooks/post_push rename to openjdk/13/hooks/post_push index bb44279..62f29d9 100755 --- a/openjdk/hooks/post_push +++ b/openjdk/13/hooks/post_push @@ -1,5 +1,5 @@ #!/bin/bash -. ../docker-hooks.sh +. ../../docker-hooks.sh image="clearlinux/openjdk" package=openjdk13 diff --git a/openjdk/8/Dockerfile b/openjdk/8/Dockerfile new file mode 100644 index 0000000..149f8ed --- /dev/null +++ b/openjdk/8/Dockerfile @@ -0,0 +1,38 @@ +FROM clearlinux:latest AS builder +MAINTAINER qi.zheng@intel.com + +ARG swupd_args +# Move to latest Clear Linux release to ensure +# that the swupd command line arguments are +# correct +RUN swupd update --no-boot-update $swupd_args + +# Grab os-release info from the minimal base image so +# that the new content matches the exact OS version +COPY --from=clearlinux/os-core:latest /usr/lib/os-release / + +# Install additional content in a target directory +# using the os version from the minimal base +RUN source /os-release && \ + mkdir /install_root \ + && swupd os-install -V ${VERSION_ID} \ + --path /install_root --statedir /swupd-state \ + --bundles=os-core-update,java-runtime --no-boot-update + +# For some Host OS configuration with redirect_dir on, +# extra data are saved on the upper layer when the same +# file exists on different layers. To minimize docker +# image size, remove the overlapped files before copy. +RUN mkdir /os_core_install +COPY --from=clearlinux/os-core:latest / /os_core_install/ +RUN cd / && \ + find os_core_install | sed -e 's/os_core_install/install_root/' | xargs rm -d &> /dev/null || true + + +FROM clearlinux/os-core:latest + +COPY --from=builder /install_root / + +ENV PATH=/usr/lib/jvm/java-1.8.0-openjdk/bin:$PATH + +CMD ["java"] diff --git a/openjdk/8/hooks/post_push b/openjdk/8/hooks/post_push new file mode 100755 index 0000000..e984df2 --- /dev/null +++ b/openjdk/8/hooks/post_push @@ -0,0 +1,7 @@ +#!/bin/bash +. ../../docker-hooks.sh + +image="clearlinux/openjdk" +package=openjdk + +do_tag $image $package 8