镜像构建历史
# 2025-11-05 19:45:34 0.00B 设置默认要执行的命令
CMD ["/bin/sh" "-c" "./bin/auto.sh startOnPending"]
# 2025-11-05 19:45:34 0.00B 声明容器运行时监听的端口
EXPOSE [8888/tcp]
# 2025-11-05 19:45:34 22.03MB 执行命令并创建新的镜像层
RUN |1 FLINK_VERSION=1.20 /bin/sh -c mkdir /opt/dinky/customJar && chmod -R 777 /opt/dinky/ && mkdir /dinky && chmod -R 777 /dinky/ && sed -i 's/-Xms512M -Xmx2048M -XX:ermSize=512M/-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0/g' ./bin/auto.sh # buildkit
# 2025-11-05 19:45:33 0.00B 设置工作目录为/opt/dinky/
WORKDIR /opt/dinky/
# 2025-11-05 19:45:33 0.00B 指定运行容器时使用的用户
USER root
# 2025-11-05 19:45:33 0.00B 设置环境变量 H2_DB
ENV H2_DB=./tmp/db/h2
# 2025-11-05 19:45:33 0.00B 设置环境变量 DINKY_HOME
ENV DINKY_HOME=/opt/dinky/
# 2025-11-05 19:45:33 0.00B 设置环境变量 FLINK_VERSION
ENV FLINK_VERSION=1.20
# 2025-11-05 19:45:33 55.03MB 执行命令并创建新的镜像层
RUN |1 FLINK_VERSION=1.20 /bin/sh -c cp /opt/flink/opt/flink-python*.jar /opt/flink/lib/ && cp /opt/flink/opt/flink-table-planner*.jar /opt/flink/lib/ 2>/dev/null || : && ln -s /opt/flink/lib/* /opt/dinky/extends/flink${FLINK_VERSION}/ # buildkit
# 2025-11-05 19:45:33 193.17MB 复制新文件或目录到容器中
COPY /opt/dinky /opt/dinky # buildkit
# 2025-11-05 19:45:33 0.00B 定义构建参数
ARG FLINK_VERSION=1.20
# 2025-09-26 09:36:43 0.00B 设置默认要执行的命令
CMD ["help"]
# 2025-09-26 09:36:43 0.00B 声明容器运行时监听的端口
EXPOSE map[6123/tcp:{} 8081/tcp:{}]
# 2025-09-26 09:36:43 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/docker-entrypoint.sh"]
# 2025-09-26 09:36:43 5.98KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh / # buildkit
# 2025-09-26 09:36:43 527.62MB 执行命令并创建新的镜像层
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-09-26 09:36:43 0.00B 设置工作目录为/opt/flink
WORKDIR /opt/flink
# 2025-09-26 09:36:43 3.24MB 执行命令并创建新的镜像层
RUN /bin/sh -c groupadd --system --gid=9999 flink && useradd --system --home-dir $FLINK_HOME --uid=9999 --gid=flink flink # buildkit
# 2025-09-26 09:36:43 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-09-26 09:36:43 0.00B 设置环境变量 FLINK_HOME
ENV FLINK_HOME=/opt/flink
# 2025-09-26 09:36:43 0.00B 设置环境变量 FLINK_TGZ_URL FLINK_ASC_URL GPG_KEY CHECK_GPG
ENV FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-1.20.3/flink-1.20.3-bin-scala_2.12.tgz FLINK_ASC_URL=https://downloads.apache.org/flink/flink-1.20.3/flink-1.20.3-bin-scala_2.12.tgz.asc GPG_KEY=5EE2CDBE52BDDB9CCB1C63B6E6BAF9CFABD4ED71 CHECK_GPG=true
# 2025-09-26 09:36:43 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-09-26 09:36:43 0.00B 设置环境变量 GOSU_VERSION
ENV GOSU_VERSION=1.11
# 2025-09-26 09:36:43 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-08-01 19:04:34 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/__cacert_entrypoint.sh"]
# 2025-08-01 19:04:34 5.31KB 复制新文件或目录到容器中
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
# 2025-08-01 19:04:34 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; echo "Verifying install ..."; echo "java -version"; java -version; echo "Complete." # buildkit
# 2025-08-01 19:04:34 108.84MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='6e83ffc37da053352ccaa2fd3bd7d813b9674d87aa01b35ac3e54903cd33b0d8'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u462-b08/OpenJDK8U-jre_x64_linux_hotspot_8u462b08.tar.gz'; ;; arm64) ESUM='c34506736ab52768c59660a5d4246b94f57543c79b7e4b53d322dda3ec4a9302'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u462-b08/OpenJDK8U-jre_aarch64_linux_hotspot_8u462b08.tar.gz'; ;; armhf) ESUM='48547114cef3ce1ab8e80c8140430d8fb2f23359d52ad6d7a0af28f5fe9c81f8'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u462-b08/OpenJDK8U-jre_arm_linux_hotspot_8u462b08.tar.gz'; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libatomic1; rm -rf /var/lib/apt/lists/*; ;; ppc64el) ESUM='15391b2d1bf613abd739f6ad6eeb728f4803d901cceae0d83f6bbd00da7751bf'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u462-b08/OpenJDK8U-jre_ppc64le_linux_hotspot_8u462b08.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; # buildkit
# 2025-08-01 19:04:34 0.00B 设置环境变量 JAVA_VERSION
ENV JAVA_VERSION=jdk8u462-b08
# 2025-08-01 19:04:34 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-08-01 19:04:34 0.00B 设置环境变量 LANG LANGUAGE LC_ALL
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
# 2025-08-01 19:04:34 0.00B 设置环境变量 PATH
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-08-01 19:04:34 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/opt/java/openjdk
# 2025-08-01 19:04:34 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2025-08-01 19:04:34 77.87MB
/bin/sh -c #(nop) ADD file:32d41b6329e8f89fa4ac92ef97c04b7cfd5e90fb74e1509c3e27d7c91195b7c7 in /
# 2025-08-01 19:04:34 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=22.04
# 2025-08-01 19:04:34 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
# 2025-08-01 19:04:34 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2025-08-01 19:04:34 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:ae80d10dec00e1c2606aa8721f0dea4730f14c69a87fafb40995f4a61062a027",
"RepoTags": [
"dinkydocker/dinky-standalone-server:1.2.5-flink1.20",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/dinkydocker/dinky-standalone-server:1.2.5-flink1.20"
],
"RepoDigests": [
"dinkydocker/dinky-standalone-server@sha256:41f2a0592d92ad343675006162c6ab69556aaa644f10d06da4f7a4d76b9c0520",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/dinkydocker/dinky-standalone-server@sha256:7952bc6a0a93f953aed243c67d0a7909fea3c5b20fd63acd79ae1e207e8bbdf7"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-11-05T11:45:34.896677126Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "root",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"6123/tcp": {},
"8081/tcp": {},
"8888/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=jdk8u462-b08",
"GOSU_VERSION=1.11",
"FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-1.20.3/flink-1.20.3-bin-scala_2.12.tgz",
"FLINK_ASC_URL=https://downloads.apache.org/flink/flink-1.20.3/flink-1.20.3-bin-scala_2.12.tgz.asc",
"GPG_KEY=5EE2CDBE52BDDB9CCB1C63B6E6BAF9CFABD4ED71",
"CHECK_GPG=true",
"FLINK_HOME=/opt/flink",
"FLINK_VERSION=1.20",
"DINKY_HOME=/opt/dinky/",
"H2_DB=./tmp/db/h2"
],
"Cmd": [
"/bin/sh",
"-c",
"./bin/auto.sh startOnPending"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/opt/dinky/",
"Entrypoint": [
"/docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "22.04"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 1036973641,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/ee084aafb562f540d78332b803d69e2b33ffd00d9d0160f462cbca47d303b724/diff:/var/lib/docker/overlay2/4607b904f4aa8cba4e2683cf22358964d57f5d1d3f7f147f35f1db917cfde26b/diff:/var/lib/docker/overlay2/32a4a0880f7844567f5eff9aa12f24a87abee3dc9cf971c6a37c944e84b7ec1f/diff:/var/lib/docker/overlay2/1c58cd2b08ed060cc2063c41179e0ad2222bfd8c87649f660ce570f38e674ee7/diff:/var/lib/docker/overlay2/440abaca8aaac122114728f5e8f95803ba5b2e989031bb136ea416b146d4652c/diff:/var/lib/docker/overlay2/6fea9defbe1ae3bbd15bba2a7fa889679323ab0c72d8c3f88d0a77acd4e7453d/diff:/var/lib/docker/overlay2/3a5fd3534332d1c9f810a204286d981fb56a8baed76492b55fd203eb04300f93/diff:/var/lib/docker/overlay2/cd5766fb47ead464b98f1c733d0425abd39d79698567abdbc56edddf780a4e52/diff:/var/lib/docker/overlay2/49cd722ebb73faae899555ba907ef3a16ff7b011cff61584d70a87a64a05fc05/diff:/var/lib/docker/overlay2/86dfc6f9bba9b8fa1fb3d159b32033e3690b075f75a8ca0fbbcda306deeac8f6/diff:/var/lib/docker/overlay2/a6ff48fd2e34441c0bd3c9d0f6be19cc59f11d428ef3cd7660db8ef8846f5d7d/diff:/var/lib/docker/overlay2/455dd148dcbadf5d9a95b9f9717c56308fac488ca88232d5f3cd76d086e9efa9/diff:/var/lib/docker/overlay2/bd9ce922f25cecee0c447945e8927ff2e0fd667f53fc4bb180fffffe49fa3da7/diff:/var/lib/docker/overlay2/99a8a7af45ffa1dc430375fde8c3084ee85be5839f687d98d2857fb82cd37c67/diff",
"MergedDir": "/var/lib/docker/overlay2/0436d33a0b1a638769cf8b2ff248738a0cb873f189839d8a50ecce75ac02f285/merged",
"UpperDir": "/var/lib/docker/overlay2/0436d33a0b1a638769cf8b2ff248738a0cb873f189839d8a50ecce75ac02f285/diff",
"WorkDir": "/var/lib/docker/overlay2/0436d33a0b1a638769cf8b2ff248738a0cb873f189839d8a50ecce75ac02f285/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:767e56ba346ae714b6e6b816baa839051145ed78cfa0e4524a86cc287b0c4b00",
"sha256:3e99893f6057a629d956c6f69b89f8642eb4b7fb94a68a2d975d20332613a804",
"sha256:bd4b8c838f8466a726c9536941270e5f8636af3ff1c1f77f59cebfc76ccf0ae0",
"sha256:5a0484d10298aa4b7f22eb1197f17aa69fd61147b84bd057298aecc7bd3a962d",
"sha256:0e8406c21b3dac498a8b227da2ba4dd0c1b1f900469d5f0c642668a3085ee4b2",
"sha256:77f545bbe97578283381ef826f703869e5159b36726df971670019ddd950163b",
"sha256:8a8f444d6f51404b639854a6239c82ac4180c67705f02191fddb8336566d8e15",
"sha256:69fcaf0e0efd47c6b3e68c3d1b6826f716c23a593800703bed6c9bb8713576ef",
"sha256:0b48a45bd0e941666a8ff2a323806fd80502a7999b0317c7d20abb45b89fb6a1",
"sha256:450891ad3b744167709a88f1bdde0b08b4b376d45d9ec3bec0e5ae5f32fed13e",
"sha256:c9f21e73abb007df6c5bbd8bf81b82f89a2165aadb57af8960b704742ee5e9f4",
"sha256:193470e7cf05da675fdbd472397847b527b04cdd72b4164249bde51bd2dc9bca",
"sha256:dcf3b33fb592b2d97a94922850deb5e0294d754129fefba505f55c7369ffb063",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:73fa3c40427d04b0ede217a67f0d0c767e14b8e263acc6797fef4ada6165f180"
]
},
"Metadata": {
"LastTagTime": "2025-11-06T12:10:17.209424959+08:00"
}
}