镜像构建历史
# 2025-07-08 19:54:01 0.00B 设置默认要执行的命令
CMD ["help"]
# 2025-07-08 19:54:01 0.00B 声明容器运行时监听的端口
EXPOSE map[6123/tcp:{} 8081/tcp:{}]
# 2025-07-08 19:54:01 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/docker-entrypoint.sh"]
# 2025-07-08 19:54:01 5.98KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh / # buildkit
# 2025-07-08 19:54:01 527.55MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex; wget -nv -O flink.tgz "$FLINK_TGZ_URL"; if [ "$CHECK_GPG" = "true" ]; then wget -nv -O flink.tgz.asc "$FLINK_ASC_URL"; export GNUPGHOME="$(mktemp -d)"; for server in ha.pool.sks-keyservers.net $(shuf -e hkp://p80.pool.sks-keyservers.net:80 keyserver.ubuntu.com hkp://keyserver.ubuntu.com:80 pgp.mit.edu) ; do gpg --batch --keyserver "$server" --recv-keys "$GPG_KEY" && break || : ; done && gpg --batch --verify flink.tgz.asc flink.tgz; gpgconf --kill all; rm -rf "$GNUPGHOME" flink.tgz.asc; fi; tar -xf flink.tgz --strip-components=1; rm flink.tgz; chown -R flink:flink .; CONF_FILE="$FLINK_HOME/conf/flink-conf.yaml"; if [ ! -e "$FLINK_HOME/conf/flink-conf.yaml" ]; then CONF_FILE="${FLINK_HOME}/conf/config.yaml"; /bin/bash "$FLINK_HOME/bin/config-parser-utils.sh" "${FLINK_HOME}/conf" "${FLINK_HOME}/bin" "${FLINK_HOME}/lib" "-repKV" "rest.address,localhost,0.0.0.0" "-repKV" "rest.bind-address,localhost,0.0.0.0" "-repKV" "jobmanager.bind-host,localhost,0.0.0.0" "-repKV" "taskmanager.bind-host,localhost,0.0.0.0" "-rmKV" "taskmanager.host=localhost"; else sed -i 's/rest.address: localhost/rest.address: 0.0.0.0/g' "$CONF_FILE"; sed -i 's/rest.bind-address: localhost/rest.bind-address: 0.0.0.0/g' "$CONF_FILE"; sed -i 's/jobmanager.bind-host: localhost/jobmanager.bind-host: 0.0.0.0/g' "$CONF_FILE"; sed -i 's/taskmanager.bind-host: localhost/taskmanager.bind-host: 0.0.0.0/g' "$CONF_FILE"; sed -i '/taskmanager.host: localhost/d' "$CONF_FILE"; fi; # buildkit
# 2025-07-08 19:54:01 0.00B 设置工作目录为/opt/flink
WORKDIR /opt/flink
# 2025-07-08 19:54:01 3.24MB 执行命令并创建新的镜像层
RUN /bin/sh -c groupadd --system --gid=9999 flink && useradd --system --home-dir $FLINK_HOME --uid=9999 --gid=flink flink # buildkit
# 2025-07-08 19:54:01 0.00B 设置环境变量 PATH
ENV PATH=/opt/flink/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-07-08 19:54:01 0.00B 设置环境变量 FLINK_HOME
ENV FLINK_HOME=/opt/flink
# 2025-07-08 19:54:01 0.00B 设置环境变量 FLINK_TGZ_URL FLINK_ASC_URL GPG_KEY CHECK_GPG
ENV FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-1.20.2/flink-1.20.2-bin-scala_2.12.tgz FLINK_ASC_URL=https://downloads.apache.org/flink/flink-1.20.2/flink-1.20.2-bin-scala_2.12.tgz.asc GPG_KEY=CC33238850B5A92624ED7F6216AE0DDBBB2F380B CHECK_GPG=true
# 2025-07-08 19:54:01 2.30MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex; wget -nv -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)"; wget -nv -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc"; export GNUPGHOME="$(mktemp -d)"; for server in ha.pool.sks-keyservers.net $(shuf -e hkp://p80.pool.sks-keyservers.net:80 keyserver.ubuntu.com hkp://keyserver.ubuntu.com:80 pgp.mit.edu) ; do gpg --batch --keyserver "$server" --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; done && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; chmod +x /usr/local/bin/gosu; gosu nobody true # buildkit
# 2025-07-08 19:54:01 0.00B 设置环境变量 GOSU_VERSION
ENV GOSU_VERSION=1.11
# 2025-07-08 19:54:01 3.94MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex; apt-get update; apt-get -y install gpg libsnappy1v5 gettext-base libjemalloc-dev; rm -rf /var/lib/apt/lists/* # buildkit
# 2025-07-08 19:54:01 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/__cacert_entrypoint.sh"]
# 2025-07-08 19:54:01 5.31KB 复制新文件或目录到容器中
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
# 2025-07-08 19:54:01 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; echo "Verifying install ..."; echo "java --version"; java --version; echo "Complete." # buildkit
# 2025-07-08 19:54:01 141.04MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='ddbd5d7ef14aa06784fb94d1e0e7177868dfdd0aa216a8a2e654869968ef7392'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jre_x64_linux_hotspot_11.0.28_6.tar.gz'; ;; arm64) ESUM='761a0a87ca2b1e75eb5208565a56a4c3f49e02a5d4c00ce6a4930d015660e5d1'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.28_6.tar.gz'; ;; armhf) ESUM='05b791574d7174d2c8e033c4c987411b167d2ff9b5e954926b82295310f93e4d'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jre_arm_linux_hotspot_11.0.28_6.tar.gz'; ;; ppc64el) ESUM='e3a2e957a06909ccff8eb81e892e952080905831cdcbe41825c041430e205e3a'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jre_ppc64le_linux_hotspot_11.0.28_6.tar.gz'; ;; s390x) ESUM='e5a611a198a7c9f7bc16258f5357e80932de9a21751bd68960dd02a0949084b1'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jre_s390x_linux_hotspot_11.0.28_6.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit
# 2025-07-08 19:54:01 0.00B 设置环境变量 JAVA_VERSION
ENV JAVA_VERSION=jdk-11.0.28+6
# 2025-07-08 19:54:01 42.92MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl wget gnupg fontconfig ca-certificates p11-kit tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit
# 2025-07-08 19:54:01 0.00B 设置环境变量 LANG LANGUAGE LC_ALL
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
# 2025-07-08 19:54:01 0.00B 设置环境变量 PATH
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-07-08 19:54:01 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/opt/java/openjdk
# 2025-07-08 19:54:01 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2025-07-08 19:54:01 77.87MB
/bin/sh -c #(nop) ADD file:9303cc1f788d2a9a8f909b154339f7c637b2a53c75c0e7f3da62eb1fefe371b1 in /
# 2025-07-08 19:54:01 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=22.04
# 2025-07-08 19:54:01 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
# 2025-07-08 19:54:01 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2025-07-08 19:54:01 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:eb4704cd9eb10f62fc1018fe6119286d2fd1382b6c9619be029b33c06901b0c5",
"RepoTags": [
"flink:1.20.2-scala_2.12-java11",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/flink:1.20.2-scala_2.12-java11"
],
"RepoDigests": [
"flink@sha256:f9f018544328e75effbd0a303d5ab6129518d12a3abfbb7b989e57ad91108bc0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/flink@sha256:233f7f9b47bdb6dab72d82ae5d820e4e0e406b3932850a853721fdd2fdfa254f"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-07-08T11:54:01Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"6123/tcp": {},
"8081/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/opt/flink/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"JAVA_HOME=/opt/java/openjdk",
"LANG=en_US.UTF-8",
"LANGUAGE=en_US:en",
"LC_ALL=en_US.UTF-8",
"JAVA_VERSION=jdk-11.0.28+6",
"GOSU_VERSION=1.11",
"FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-1.20.2/flink-1.20.2-bin-scala_2.12.tgz",
"FLINK_ASC_URL=https://downloads.apache.org/flink/flink-1.20.2/flink-1.20.2-bin-scala_2.12.tgz.asc",
"GPG_KEY=CC33238850B5A92624ED7F6216AE0DDBBB2F380B",
"CHECK_GPG=true",
"FLINK_HOME=/opt/flink"
],
"Cmd": [
"help"
],
"Image": "",
"Volumes": null,
"WorkingDir": "/opt/flink",
"Entrypoint": [
"/docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "22.04"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 798883155,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/02cb7a5aed2cee363c799eb09cc6bb800b226e31cfdd119dc9a0fe36fbf695c2/diff:/var/lib/docker/overlay2/e5c82d5745a24715bbf56d2ce29f00b72290cf2746ac8d3399531ee517687da2/diff:/var/lib/docker/overlay2/0230ae0157b7c2aa57310c7cb7047f536ad632759b0c15477a73884191ecc9cf/diff:/var/lib/docker/overlay2/91318452b1e7e373754e482925c3ee597a166e43a8170a1870a1499427fd9b65/diff:/var/lib/docker/overlay2/370b839e0d0d782215cca1734cf1a42b9f2868b1a303a739356528a80f36cd01/diff:/var/lib/docker/overlay2/12e68b44d41f07fe53fba68a0413c7c8730d7db33126127de09c8496524dc969/diff:/var/lib/docker/overlay2/7c07b73e978750ec126def7a26e5e9a27b277e4cdacfa0a63b30fb610f6619fa/diff:/var/lib/docker/overlay2/4d602b5f1b41ddc69be6c4520e36e6b6e2abbd6eb75d590c8bdeec5ad3484977/diff:/var/lib/docker/overlay2/b277c8a3a7c8570ea260597303c106d9e8b839a74754d0d7ddc905f96f140710/diff:/var/lib/docker/overlay2/686020265ba704bac267cf5b6fc8dfaf73aa31d484836dd3225bbe9a3899f285/diff",
"MergedDir": "/var/lib/docker/overlay2/988d73a0866ed3c9bb372be84c6c03dfbae4796186b2b86c11e3e23e03350e41/merged",
"UpperDir": "/var/lib/docker/overlay2/988d73a0866ed3c9bb372be84c6c03dfbae4796186b2b86c11e3e23e03350e41/diff",
"WorkDir": "/var/lib/docker/overlay2/988d73a0866ed3c9bb372be84c6c03dfbae4796186b2b86c11e3e23e03350e41/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:dc6eb6dad5f9e332f00af553440e857b1467db1be43dd910cdb6830ba0898d50",
"sha256:a0b2b7f547d5968c3a841970bf1de5185c8e078e948cd7e78e5741b75a29cd37",
"sha256:34db5c85c10fad99805cf13c7dc76ded89e9f32bf90e9e48cb8cb9bef41e331b",
"sha256:5f95f14ff7d21178f86fd4287892a8a703f1fe25751f9a271d83299538b4ff66",
"sha256:050d3ba63b63a880b4e1a0e594a1b42d9d29c3dd12f500b961eca3f950e317d4",
"sha256:fa18bbe657f26ff2efcc0432860ae6c11c7139eb3c8a9480a07988941b2f0ffe",
"sha256:482856bf1780159f2129be6efb3d1cbe35a17d82c2196dee30ce052efd97a298",
"sha256:32db481399988dd97757d5c8dcba424f8bc2ee15397e0be171848b5528439a9f",
"sha256:5f068c78e57ae2b979dcda94876b857e4c3142c3c0c1087a45d73cd6b3525f5f",
"sha256:eb439c49cdbcc4f660d81f00ac19639fb7baad7ea634a35f29f8d9d46e69e378",
"sha256:4cb0027b46eeca48a56e4e93b8e2f75f725a277b429847e7fd36e2ee0401ce88"
]
},
"Metadata": {
"LastTagTime": "2025-09-19T11:43:22.132845195+08:00"
}
}