镜像构建历史
# 2025-06-16 23:17:21 87.00B 执行命令并创建新的镜像层
RUN chmod +x /opt/sql-client/sql-client # buildkit
# 2025-06-16 23:17:21 5.89KB 执行命令并创建新的镜像层
RUN /bin/sh -c sed -i 's/exec $(drop_privs_cmd)/exec/g' /docker-entrypoint.sh # buildkit
# 2025-06-16 23:17:21 7.90KB 复制新文件或目录到容器中
COPY opt/* /opt/flink/opt/ # buildkit
# 2025-06-16 23:17:21 204.72MB 复制新文件或目录到容器中
COPY lib/* /opt/flink/lib/ # buildkit
# 2025-06-16 23:17:17 1.89KB 复制新文件或目录到容器中
COPY sql/* /opt/sql-client/sql/ # buildkit
# 2025-06-16 23:17:17 204.72MB 复制新文件或目录到容器中
COPY lib/* /opt/sql-client/lib/ # buildkit
# 2025-06-13 10:07:31 0.00B 设置环境变量 SQL_CLIENT_HOME
ENV SQL_CLIENT_HOME=/opt/sql-client
# 2025-06-13 10:07:31 0.00B 设置工作目录为/opt/sql-client
WORKDIR /opt/sql-client
# 2025-06-13 10:07:31 87.00B 复制新文件或目录到容器中
COPY bin/* /opt/sql-client/ # buildkit
# 2025-06-13 10:07:31 639.00KB 执行命令并创建新的镜像层
RUN /bin/sh -c apt install tree # buildkit
# 2025-06-13 10:07:29 63.33MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update # buildkit
# 2025-06-13 10:07:29 0.00B 指定运行容器时使用的用户
USER root
# 2024-08-01 14:57:14 0.00B 设置默认要执行的命令
CMD ["help"]
# 2024-08-01 14:57:14 0.00B 声明容器运行时监听的端口
EXPOSE map[6123/tcp:{} 8081/tcp:{}]
# 2024-08-01 14:57:14 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/docker-entrypoint.sh"]
# 2024-08-01 14:57:14 5.98KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh / # buildkit
# 2024-08-01 14:57:14 526.78MB 执行命令并创建新的镜像层
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
# 2024-08-01 14:57:14 0.00B 设置工作目录为/opt/flink
WORKDIR /opt/flink
# 2024-08-01 14:57:14 3.24MB 执行命令并创建新的镜像层
RUN /bin/sh -c groupadd --system --gid=9999 flink && useradd --system --home-dir $FLINK_HOME --uid=9999 --gid=flink flink # buildkit
# 2024-08-01 14:57:14 0.00B 设置环境变量 PATH
ENV PATH=/opt/flink/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2024-08-01 14:57:14 0.00B 设置环境变量 FLINK_HOME
ENV FLINK_HOME=/opt/flink
# 2024-08-01 14:57:14 0.00B 设置环境变量 FLINK_TGZ_URL FLINK_ASC_URL GPG_KEY CHECK_GPG
ENV FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz FLINK_ASC_URL=https://downloads.apache.org/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz.asc GPG_KEY=B2D64016B940A7E0B9B72E0D7D0528B28037D8BC CHECK_GPG=true
# 2024-08-01 14:57:14 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
# 2024-08-01 14:57:14 0.00B 设置环境变量 GOSU_VERSION
ENV GOSU_VERSION=1.11
# 2024-08-01 14:57:14 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
# 2024-08-01 14:57:14 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/__cacert_entrypoint.sh"]
# 2024-08-01 14:57:14 5.31KB 复制新文件或目录到容器中
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
# 2024-08-01 14:57:14 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; echo "Verifying install ..."; echo "java --version"; java --version; echo "Complete." # buildkit
# 2024-08-01 14:57:14 140.31MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='a4b0015872758aac6a5d17139e952a3951ee536ae6d9a99828823a80a71add56'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_x64_linux_hotspot_17.0.14_7.tar.gz'; ;; arm64) ESUM='bab3f352fc7144ac1435924f056872d16f4b32c8bcda58b9a77b636eb1c664f4'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.14_7.tar.gz'; ;; armhf) ESUM='7ac439bce4d5ecddb250b31401b1c1a6da2762f51652eafedd53584a0d9e3130'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_arm_linux_hotspot_17.0.14_7.tar.gz'; ;; ppc64el) ESUM='2a730e9d34cce4d588739b626a034ed68c065a2db61048ee7886be48ec9fe460'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_ppc64le_linux_hotspot_17.0.14_7.tar.gz'; ;; s390x) ESUM='3887f14f95a14e65a985cfcee6696e01aadee06d3347ab70eb7d6b16ce397238'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_s390x_linux_hotspot_17.0.14_7.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
# 2024-08-01 14:57:14 0.00B 设置环境变量 JAVA_VERSION
ENV JAVA_VERSION=jdk-17.0.14+7
# 2024-08-01 14:57:14 42.90MB 执行命令并创建新的镜像层
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
# 2024-08-01 14:57:14 0.00B 设置环境变量 LANG LANGUAGE LC_ALL
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
# 2024-08-01 14:57:14 0.00B 设置环境变量 PATH
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2024-08-01 14:57:14 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/opt/java/openjdk
# 2024-08-01 14:57:14 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2024-08-01 14:57:14 77.86MB
/bin/sh -c #(nop) ADD file:1b6c8c9518be42fa2afe5e241ca31677fce58d27cdfa88baa91a65a259be3637 in /
# 2024-08-01 14:57:14 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=22.04
# 2024-08-01 14:57:14 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
# 2024-08-01 14:57:14 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2024-08-01 14:57:14 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:ca1eb8fb20773288da4d01a095924406177bc358b1a12720931559c2635d3e17",
"RepoTags": [
"fluss/quickstart-flink:1.20-0.7.0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/fluss/quickstart-flink:1.20-0.7.0"
],
"RepoDigests": [
"fluss/quickstart-flink@sha256:07f2060717789887e6d20dd13e72f9a2514916c2848b86a858eb0ede1a53b194",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/fluss/quickstart-flink@sha256:aefd19e26cd735439b548d478872cfc62a68330bc6932303ceaf975576a0d67b"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-06-16T15:17:21.687653308Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "root",
"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-17.0.14+7",
"GOSU_VERSION=1.11",
"FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz",
"FLINK_ASC_URL=https://downloads.apache.org/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz.asc",
"GPG_KEY=B2D64016B940A7E0B9B72E0D7D0528B28037D8BC",
"CHECK_GPG=true",
"FLINK_HOME=/opt/flink",
"SQL_CLIENT_HOME=/opt/sql-client"
],
"Cmd": [
"help"
],
"Image": "",
"Volumes": null,
"WorkingDir": "/opt/sql-client",
"Entrypoint": [
"/docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "22.04"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 1270772259,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/a6c94f62c71d603d9a44849334bb37aefa55e639a27e932a4e960243f01a399e/diff:/var/lib/docker/overlay2/1108ad701449dce301f40afb937ed6d1398c4544c071820aaaa498b4df21f3b7/diff:/var/lib/docker/overlay2/83696225584c92aecedbf5171684e259f16e4006718e0aceed74cd7dca6a69cd/diff:/var/lib/docker/overlay2/b5d5b695ce1f3eaaf2c8520a70a00b496de10b09e0bb315dc9f6705dca4f4e13/diff:/var/lib/docker/overlay2/0ac2967fa6e4cef44d4aeba3940e2df06ce3679a929a928e5138afaae8b6e6e8/diff:/var/lib/docker/overlay2/be99578f76a5e0102446e61e81b2435456ad2a2eda67ba01b4e0e6910e6e4741/diff:/var/lib/docker/overlay2/4f53970f7df20a8b0c52afb2cca4bb5e827fde8bef8e88dec8ba5126a8e3148f/diff:/var/lib/docker/overlay2/60d3d0f111b85dfd8e9f7227d0d20d046570f5a6f02c5e0a411fadef3f0d65f2/diff:/var/lib/docker/overlay2/0343804c810b04f1804cfdf5a8a74973bdf8c8af6231fc8f78d2a69fa06e4e10/diff:/var/lib/docker/overlay2/4bf9bd009bd717fa90be5c46aeb5797d08702a12eaaf66ff77105b45aecb9736/diff:/var/lib/docker/overlay2/794807a57ca80fb2aa24d83fccda68c2468f9c6750ebad27f543ad53e8e9e854/diff:/var/lib/docker/overlay2/5c137ae5ad1e0f11ccb6435fe1ecd0924a5b449b10e4a5a130dd85d585a0920a/diff:/var/lib/docker/overlay2/129660d84213611e78a85de181057e0a7dc8e92a1d9579f683ae8fa38fd05abf/diff:/var/lib/docker/overlay2/42492d80af04392c50e876b1e50202bf36315a2388befdaf9862a6c81544e7ae/diff:/var/lib/docker/overlay2/6f1704fd4a38a413da9702475a195e3d893b1228083cd53b665723683d305a39/diff:/var/lib/docker/overlay2/f5805eec886ea0c4f45b3adc2ccafe280335e1d919d5b098803fff82e9986189/diff:/var/lib/docker/overlay2/676674d0d56149c8f8af23f07bd681259fd209aa3eedadb32c94f65cff6753c5/diff:/var/lib/docker/overlay2/6b5616a054cc90f0520fcd858614f8dcdd10c81b7ea2c15409d467ee0e4b5b6b/diff:/var/lib/docker/overlay2/fa9f5f33ae9ab290772ec4098d1d0ab261c8ab8c1eefce2496def86ad9ac4707/diff:/var/lib/docker/overlay2/ace3f972cf88bd330727fa9a25fd0df2c3fec1df161ac9102bf9f5739b40b82c/diff",
"MergedDir": "/var/lib/docker/overlay2/05c9dd470662fe7c8cd90fafdce036b509a37553b79a2dbdd6bcc9405bba1b45/merged",
"UpperDir": "/var/lib/docker/overlay2/05c9dd470662fe7c8cd90fafdce036b509a37553b79a2dbdd6bcc9405bba1b45/diff",
"WorkDir": "/var/lib/docker/overlay2/05c9dd470662fe7c8cd90fafdce036b509a37553b79a2dbdd6bcc9405bba1b45/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:270a1170e7e398434ff1b31e17e233f7d7b71aa99a40473615860068e86720af",
"sha256:ffa4ffba3162cc4d41220d898690e6c5efb52fb5d8d40363312eeb3ec3380bb6",
"sha256:aef5f989e628b1b21af56f021cefe8daed8e997c6784dadaab8194e59159c43f",
"sha256:ca55ecdc5962a3faf6b940c0be1657c2a030591fddfdc88f2f8c4a1e9d50e762",
"sha256:bb0c083cd5a3966b607efab6c291ce9b56530606eb7a446a32de2068819b6d5b",
"sha256:0e4b4f5d494fb639c07fceb1ff43db8f17bb039cfab6b0ee24f47aca55a35c24",
"sha256:2cd74a4d8a2a37025f640b6338c42129179d77d0f34a00b994a6bc9a494537a4",
"sha256:1539adbe9d3a09a4ecf856f1b387f8c8f253917948b876c0c569885ed9d76ea4",
"sha256:af78b5e5c750fae54840b49a553aa38d34ff9448e3b37c50a234b06529f2a5e4",
"sha256:775de6af2e433d7203b6aa58438e2f4e62039ab4714a7d93f05e74ac1b94d645",
"sha256:aebbad5bac920a0e64ab4a762824d8fa0b874526dfb6963075158fee936acbe2",
"sha256:dbbaa6245be9cb69f8dc6c1e75a53040ce683dce62c22032b24ec29bd65a74ed",
"sha256:dbf191b873165be7b921a573440b3c33c987a524a262a794745327677161f1d2",
"sha256:489fc8cc785224d363f94b65f3d91af95db24b230abdbabf7ec605099b6a449c",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:76a39844c91d9ea70b21baa4862ac991899ef9b3714987419d8a6ab6822430c9",
"sha256:ff043e348cc29ab71b0bfa8eb595d8116c6252594f70aa9a7f197b4289cd8685",
"sha256:653929874f878bfd2690e217c457e36d74dfb4c39284ff176725ac766e0e9315",
"sha256:24b23902db4765ba7192a034331000391f301e9fdbbd4613a3a4769ef2e36757",
"sha256:709576bc908c4719b3463a3279ee2e73be1354eff8409a05851eb6d7068e2832",
"sha256:b27a1a61fb328f85612a8a2c664d3bf4d89aa2ff0cfec75460154c6b7a539197"
]
},
"Metadata": {
"LastTagTime": "2025-09-19T10:06:02.860036256+08:00"
}
}