镜像构建历史
# 2025-03-25 17:02:46 0.00B 设置默认要执行的命令
CMD ["run"]
# 2025-03-25 17:02:46 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["stackable-commons-operator"]
# 2025-03-25 17:02:46 0.00B 指定运行容器时使用的用户
USER 782252253
# 2025-03-25 17:02:46 19.28MB 复制新文件或目录到容器中
COPY --chown=782252253:0 /app/* /usr/local/bin/ # buildkit
# 2025-03-25 16:58:52 10.00KB 复制新文件或目录到容器中
COPY LICENSE /licenses/LICENSE # buildkit
# 2025-03-25 16:58:52 240.00B 复制新文件或目录到容器中
COPY <<EOF /README.md # buildkit
# 2025-03-25 16:58:52 15.23MB 执行命令并创建新的镜像层
RUN |5 VERSION=25.3.0 RELEASE=1 STACKABLE_USER_GID=574654813 STACKABLE_USER_UID=782252253 TARGETARCH=amd64 /bin/sh -c # Update image and install kerberos client libraries as well as some other utilities
microdnf update
# **iputils**
# To make debugging easier, includes things like ping
# Added 2024-03: We cannot find any vulnerabilities in the past years
# https://github.com/iputils/iputils
#
# **less**
# To make debugging easier
# Added 2024-03: less has seen three vulnerabilities between 2004 and 2022 which is a risk we're willing to accept for the added convenience
# https://nvd.nist.gov/vuln/search/results?form_type=Advanced&results_type=overview&search_type=all&isCpeNameSearch=false&cpe_vendor=cpe%3A%2F%3Agnu&cpe_product=cpe%3A%2F%3A%3Aless
# cpe:2.3:a:gnu:less:*:*:*:*:*:*:*:*
#
# **nano**
# To make debugging and changing things easier
# Added 2024-03: We checked and it has not seen any vulnerabilities since 2010 (as of 2024-03) we decided to accept it into our base image
# https://nvd.nist.gov/vuln/search/results?form_type=Advanced&results_type=overview&query=cpe%3A2.3%3Aa%3Agnu%3Anano&search_type=all&isCpeNameSearch=false
# cpe:2.3:a:gnu:nano:*:*:*:*:*:*:*:*
#
# **tar**
# To enable kubectl cp
# Added 2024-03: We checked and it has seen eight vulnerabilities since 2001, mostly minor and it's not in executable path so we decided to accept the risk
# https://nvd.nist.gov/vuln/search/results?adv_search=true&isCpeNameSearch=true&query=cpe%3A2.3%3Aa%3Agnu%3Atar%3A-%3A*%3A*%3A*%3A*%3A*%3A*%3A*
# cpe:2.3:a:gnu:tar:-:*:*:*:*:*:*:*
# NOTE (@NickLarsenNZ): Maybe we should consider pinning package versions?
# hadolint ignore=DL3041
microdnf install \
iputils \
krb5-libs \
less \
libkadm5 \
nano \
shadow-utils \
tar
groupadd --gid ${STACKABLE_USER_GID} --system stackable
# The --no-log-init is required to work around a bug/problem in Go/Docker when very large UIDs are used
# See https://github.com/moby/moby/issues/5419#issuecomment-41478290 for more context
# Making this a system user prevents a mail dir from being created, expiry of passwords etc. but it will warn:
# useradd warning: stackable's uid 782252253 is greater than SYS_UID_MAX 999
# We can safely ignore this warning, to get rid of the warning we could change /etc/login.defs but that does not seem worth it
# We'll leave the home directory hardcoded to /stackable because I don't want to deal with which chars might be valid and which might not in user name vs. directory
useradd \
--no-log-init \
--gid ${STACKABLE_USER_GID} \
--uid ${STACKABLE_USER_UID} \
--system \
--create-home \
--home-dir /stackable \
stackable
microdnf remove shadow-utils
microdnf clean all
rm -rf /var/cache/yum
###
### Make shell usage in our containers "nicer"
###
{
echo "alias ll='ls -alF --color=auto'"
echo "alias ls='ls --color=auto'"
echo "alias ..='cd ..'"
echo "export PS1='\u@\[\e[36m\]\H\[\e[m\] \[\e[32m\]\$(pwd)\[\e[m\] \\$ '"
} >> /stackable/.bashrc
echo -e "if [ -f ~/.bashrc ]; then\n\tsource ~/.bashrc\nfi" >> /stackable/.profile
chown ${STACKABLE_USER_UID}:0 /stackable/.bashrc
chown ${STACKABLE_USER_UID}:0 /stackable/.profile
# All files and folders owned by root to support running as arbitrary users
# This is best practice as all container users will belong to the root group (0)
# This is not very relevant for the operator images but this makes it consistent with `docker-images`
chown -R ${STACKABLE_USER_UID}:0 /stackable
chmod -R g=u /stackable
# buildkit
# 2025-03-25 16:58:50 57.00B 复制新文件或目录到容器中
COPY <<EOF /etc/dnf/dnf.conf # buildkit
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL io.k8s.display-name=Stackable Operator for Stackable Commons
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL io.k8s.description=Deploy and manage Stackable Commons clusters.
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL io.openshift.tags=ubi9,stackable,sdp,commons
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL org.opencontainers.image.description=Deploy and manage Stackable Commons clusters.
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL org.opencontainers.image.title=Stackable Operator for Stackable Commons
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL org.opencontainers.image.revision=1
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL org.opencontainers.image.version=25.3.0
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL org.opencontainers.image.documentation=https://docs.stackable.tech/home/stable/commons/
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL org.opencontainers.image.licenses=OSL-3.0
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL org.opencontainers.image.vendor=Stackable GmbH
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL org.opencontainers.image.url=https://stackable.tech
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL org.opencontainers.image.authors=info@stackable.tech
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL io.openshift.expose-services=
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL io.buildah.version=
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL com.redhat.license_terms=
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL com.redhat.component=
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL architecture=amd64
# 2025-03-25 16:58:50 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL url=https://stackable.tech
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL distribution-scope=public
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL vcs-ref=
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL description=Deploy and manage Stackable Commons clusters.
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL summary=Deploy and manage Stackable Commons clusters.
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL release=1
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL version=25.3.0
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL vendor=Stackable GmbH
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL maintainer=info@stackable.tech
# 2025-03-25 16:58:50 0.00B 添加元数据标签
LABEL name=Stackable Operator for Stackable Commons
# 2025-03-25 16:58:50 0.00B 定义构建参数
ARG STACKABLE_USER_UID=782252253
# 2025-03-25 16:58:50 0.00B 定义构建参数
ARG STACKABLE_USER_GID=574654813
# 2025-03-25 16:58:50 0.00B 定义构建参数
ARG RELEASE=1
# 2025-03-25 16:58:50 0.00B 定义构建参数
ARG VERSION=25.3.0
# 2025-03-13 15:20:34 939.00B
/bin/sh
# 2025-03-13 15:20:28 100.12MB
/bin/sh -c #(nop) LABEL "build-date"="2025-03-13T07:20:00" "architecture"="x86_64" "vcs-type"="git" "vcs-ref"="7865437f00d10c54ee1c3a6268b5ff65b38afba5" "build-date"="2025-03-13T07:15:09Z" "release"="1741850109"
# 2025-03-13 15:20:28 0.00B
/bin/sh -c . /cachi2/cachi2.env && rm -rf /var/log/*
# 2025-03-13 15:20:27 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2025-03-13 15:20:27 0.00B
/bin/sh -c #(nop) COPY file:b37d593713ee21ad52a4cd1424dc019a24f7966f85df0ac4b86d234302695328 in /etc/yum.repos.d/.
# 2025-03-13 15:20:27 0.00B
/bin/sh -c #(nop) COPY dir:15b23b07af120e2e0a5f4d490f44d738ca8fb631feddbf3564dd5d54104ea356 in /
# 2025-03-13 15:20:27 0.00B
/bin/sh -c #(nop) ENV container oci
# 2025-03-13 15:20:27 0.00B
/bin/sh -c #(nop) LABEL io.openshift.tags="minimal rhel9"
# 2025-03-13 15:20:27 0.00B
/bin/sh -c #(nop) LABEL io.openshift.expose-services=""
# 2025-03-13 15:20:27 0.00B
/bin/sh -c #(nop) LABEL io.k8s.display-name="Red Hat Universal Base Image 9 Minimal"
# 2025-03-13 15:20:27 0.00B
/bin/sh -c #(nop) LABEL io.k8s.description="The Universal Base Image Minimal is a stripped down image that uses microdnf as a package manager. This base image is freely redistributable, but Red Hat only supports Red Hat technologies through subscriptions for Red Hat products. This image is maintained by Red Hat and updated regularly."
# 2025-03-13 15:20:27 0.00B
/bin/sh -c #(nop) LABEL description="The Universal Base Image Minimal is a stripped down image that uses microdnf as a package manager. This base image is freely redistributable, but Red Hat only supports Red Hat technologies through subscriptions for Red Hat products. This image is maintained by Red Hat and updated regularly."
# 2025-03-13 15:20:26 0.00B
/bin/sh -c #(nop) LABEL summary="Provides the latest release of the minimal Red Hat Universal Base Image 9."
# 2025-03-13 15:20:26 0.00B
/bin/sh -c #(nop) LABEL com.redhat.license_terms="https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI"
# 2025-03-13 15:20:26 0.00B
/bin/sh -c #(nop) LABEL com.redhat.component="ubi9-minimal-container" name="ubi9-minimal" version="9.5" distribution-scope="public"
# 2025-03-13 15:20:26 0.00B
/bin/sh -c #(nop) LABEL url="https://www.redhat.com"
# 2025-03-13 15:20:26 0.00B
/bin/sh -c #(nop) LABEL vendor="Red Hat, Inc."
# 2025-03-13 15:20:26 0.00B
/bin/sh -c #(nop) LABEL maintainer="Red Hat, Inc."
镜像信息
{
"Id": "sha256:cc8a9445c9b8be9cb44b596d9d0a200b47511df568c31b1bdace2f818155f4d2",
"RepoTags": [
"oci.stackable.tech/sdp/commons-operator:25.3.0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/oci.stackable.tech/sdp/commons-operator:25.3.0"
],
"RepoDigests": [
"oci.stackable.tech/sdp/commons-operator@sha256:adc2b25a676f7357ca3971c13ecf5c9ed3cb1af24ffc902b03733cc814e8946f",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/oci.stackable.tech/sdp/commons-operator@sha256:b2cf0912768591f206cb75edbcfebf1e3755f56176d51af898cc1d3378c18f95"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-03-25T09:02:46.082387148Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "782252253",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"container=oci"
],
"Cmd": [
"run"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/",
"Entrypoint": [
"stackable-commons-operator"
],
"OnBuild": null,
"Labels": {
"architecture": "amd64",
"build-date": "2025-03-13T07:15:09Z",
"com.redhat.component": "",
"com.redhat.license_terms": "",
"description": "Deploy and manage Stackable Commons clusters.",
"distribution-scope": "public",
"io.buildah.version": "",
"io.k8s.description": "Deploy and manage Stackable Commons clusters.",
"io.k8s.display-name": "Stackable Operator for Stackable Commons",
"io.openshift.expose-services": "",
"io.openshift.tags": "ubi9,stackable,sdp,commons",
"maintainer": "info@stackable.tech",
"name": "Stackable Operator for Stackable Commons",
"org.opencontainers.image.authors": "info@stackable.tech",
"org.opencontainers.image.description": "Deploy and manage Stackable Commons clusters.",
"org.opencontainers.image.documentation": "https://docs.stackable.tech/home/stable/commons/",
"org.opencontainers.image.licenses": "OSL-3.0",
"org.opencontainers.image.revision": "1",
"org.opencontainers.image.title": "Stackable Operator for Stackable Commons",
"org.opencontainers.image.url": "https://stackable.tech",
"org.opencontainers.image.vendor": "Stackable GmbH",
"org.opencontainers.image.version": "25.3.0",
"release": "1",
"summary": "Deploy and manage Stackable Commons clusters.",
"url": "https://stackable.tech",
"vcs-ref": "",
"vcs-type": "git",
"vendor": "Stackable GmbH",
"version": "25.3.0"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 134641620,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/d905feb2126e5231e1d5ff636bd49062f719e5f67aa8fe10daaa3e0ae79a4bd1/diff:/var/lib/docker/overlay2/894fd4d7d672fc30ba28a3f47bb0fe98f29eab9533202e3552c779a3a68046d3/diff:/var/lib/docker/overlay2/182ca04f7966d6141a2074ec1fdde510f135cc2791bcf031ba50805dd79a2091/diff:/var/lib/docker/overlay2/1ebe9479fa9434264ff3d71c307333fe5412028e488dadb2113a6f85fc1a64c7/diff:/var/lib/docker/overlay2/9412a89c2b4af4694ad2846307dceead7b52ebe74be71dc6ae53d924b49ef1d5/diff:/var/lib/docker/overlay2/b6f9336a755e25dc8da2695bf163b5436e41efbcd7f650dab74b917a94d2e6d9/diff",
"MergedDir": "/var/lib/docker/overlay2/a8f0012fa85c15dd4bc58ac98b34f376427952d409ba951cbefef24e2748da7d/merged",
"UpperDir": "/var/lib/docker/overlay2/a8f0012fa85c15dd4bc58ac98b34f376427952d409ba951cbefef24e2748da7d/diff",
"WorkDir": "/var/lib/docker/overlay2/a8f0012fa85c15dd4bc58ac98b34f376427952d409ba951cbefef24e2748da7d/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:45c00d6e135e1efede5f576d5aff6e014fc6bde10cacbf029f997e813b065984",
"sha256:92fbf195d637e13740d85ce41924342656958e221857bfe269c296b63fe94ee0",
"sha256:3d575f643c3caadc8f45a19799062b25f8162aae911e1e5d781ea17cacbd7259",
"sha256:756d4069696685e65ecc90a0b8b910cd675c76b17af8950b7cfd8533a0f82dc6",
"sha256:b365431b3e7e99cdfdc6f948e85d21d21a97d780a11c1915ad8066a72bf6dabe",
"sha256:290d4a51074ccbf21ae509af6491552835426fe89964b6089e8d7e507c9578a8",
"sha256:e916c44eed23ca1b159b2abd85309412c7dc36e0769c259996e1c84a2807c2e1"
]
},
"Metadata": {
"LastTagTime": "2025-05-27T15:53:19.149158318+08:00"
}
}