mirror of
https://github.com/clearlinux/dockerfiles.git
synced 2026-10-03 23:38:31 +00:00
+14
-6
@@ -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
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
. ../docker-hooks.sh
|
||||
. ../../docker-hooks.sh
|
||||
|
||||
image="clearlinux/openjdk"
|
||||
package=openjdk13
|
||||
@@ -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"]
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
. ../../docker-hooks.sh
|
||||
|
||||
image="clearlinux/openjdk"
|
||||
package=openjdk
|
||||
|
||||
do_tag $image $package 8
|
||||
Reference in New Issue
Block a user