镜像构建历史
# 2026-04-24 17:05:29 0.00B 设置默认要执行的命令
CMD ["bundle" "exec" "jekyll" "build"]
# 2026-04-24 17:05:29 0.00B 设置环境变量 VITE_RUBY_VITE_BIN_PATH
ENV VITE_RUBY_VITE_BIN_PATH=/node_modules/.bin/vite
# 2026-04-24 17:05:29 0.00B 设置环境变量 JEKYLL_ENV
ENV JEKYLL_ENV=production
# 2026-04-24 17:05:29 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2026-04-24 17:05:29 331.99MB 执行命令并创建新的镜像层
RUN /bin/sh -c gem install bundler -v "$(sed --silent -r '/BUNDLED WITH/,+1 {s/^[\t ]+//; p}' Gemfile.lock | tail -n +2)" && bundle install --frozen && NODE_ENV=production npm ci && mv node_modules ../ && rm -rf /data/* # buildkit
# 2026-04-24 17:05:02 2.54KB 复制新文件或目录到容器中
COPY _node_module_patch /data/_node_module_patch # buildkit
# 2026-04-24 17:05:02 258.34KB 复制新文件或目录到容器中
COPY Gemfile Gemfile.lock package.json package-lock.json /data/ # buildkit
# 2026-04-24 17:02:00 387.30MB 执行命令并创建新的镜像层
RUN /bin/sh -c curl -fsSL "https://cdn.jsdelivr.net/gh/tj/n/bin/n" | bash -s -- lts # buildkit
# 2026-04-24 17:01:56 44.91MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && apt-get install --no-install-recommends -y locales && apt-get clean # buildkit
# 2026-04-24 17:01:53 0.00B 设置工作目录为/data
WORKDIR /data
# 2026-04-24 17:01:52 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir /data # buildkit
# 2026-04-24 17:01:52 0.00B 添加元数据标签
LABEL maintainer=Miao Wang <shankerwangmiao@gmail.com>
# 2026-04-07 13:03:26 0.00B 设置默认要执行的命令
CMD ["irb"]
# 2026-04-07 13:03:26 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; mkdir "$GEM_HOME"; chmod 1777 "$GEM_HOME" # buildkit
# 2026-04-07 13:03:26 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-04-07 13:03:26 0.00B 设置环境变量 BUNDLE_SILENCE_ROOT_WARNING BUNDLE_APP_CONFIG
ENV BUNDLE_SILENCE_ROOT_WARNING=1 BUNDLE_APP_CONFIG=/usr/local/bundle
# 2026-04-07 13:03:26 0.00B 设置环境变量 GEM_HOME
ENV GEM_HOME=/usr/local/bundle
# 2026-04-07 13:03:26 63.22MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends bison dpkg-dev libgdbm-dev ruby ; rustArch=; dpkgArch="$(dpkg --print-architecture)"; case "$dpkgArch" in 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.28.2/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.28.2/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; esac; if [ -n "$rustArch" ]; then mkdir -p /tmp/rust; wget -O /tmp/rust/rustup-init "$rustupUrl"; echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; chmod +x /tmp/rust/rustup-init; export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; export PATH="$CARGO_HOME/bin:$PATH"; /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.91.1' --default-host "$rustArch"; rustc --version; cargo --version; fi; wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; mkdir -p /usr/src/ruby; tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; rm ruby.tar.xz; cd /usr/src/ruby; autoconf; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --disable-install-doc --enable-shared ${rustArch:+--enable-yjit} ; make -j "$(nproc)"; make install; rm -rf /tmp/rust; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark > /dev/null; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; apt-get dist-clean; cd /; rm -r /usr/src/ruby; if dpkg -l | grep -i ruby; then exit 1; fi; [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; ruby --version; gem --version; bundle --version # buildkit
# 2026-04-07 13:03:26 0.00B 设置环境变量 RUBY_DOWNLOAD_SHA256
ENV RUBY_DOWNLOAD_SHA256=c13aec0c206725d5d356acbae6e5fd8bffd92dc325aec14fd5dd7795d4b763d2
# 2026-04-07 13:03:26 0.00B 设置环境变量 RUBY_DOWNLOAD_URL
ENV RUBY_DOWNLOAD_URL=https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.11.tar.xz
# 2026-04-07 13:03:26 0.00B 设置环境变量 RUBY_VERSION
ENV RUBY_VERSION=3.2.11
# 2026-04-07 13:03:26 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2026-04-07 13:01:40 19.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; mkdir -p /usr/local/etc; echo 'gem: --no-document' >> /usr/local/etc/gemrc # buildkit
# 2026-04-07 11:23:43 655.72MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; apt-get dist-clean # buildkit
# 2026-04-07 10:43:18 184.88MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; apt-get dist-clean # buildkit
# 2026-04-07 09:47:10 60.18MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; apt-get dist-clean # buildkit
# 2026-04-06 08:00:00 119.86MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1775433600'
镜像信息
{
"Id": "sha256:11c0fb9564b15547190b574720318306541ceff129728dbe82535ed280400c4c",
"RepoTags": [
"tunathu/mirror-web:latest",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/tunathu/mirror-web:latest"
],
"RepoDigests": [
"tunathu/mirror-web@sha256:767cf43f4705d6ce790d38a03e4e966b2f7df921ff8f6a6ef7bf4bf682ab980e",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/tunathu/mirror-web@sha256:35f0726779671cd113d4b1dfb1c33cd273fd367ab8d7576f7051c6c41355df23"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-04-24T09:05:29.98964712Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"RUBY_VERSION=3.2.11",
"RUBY_DOWNLOAD_URL=https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.11.tar.xz",
"RUBY_DOWNLOAD_SHA256=c13aec0c206725d5d356acbae6e5fd8bffd92dc325aec14fd5dd7795d4b763d2",
"GEM_HOME=/usr/local/bundle",
"BUNDLE_SILENCE_ROOT_WARNING=1",
"BUNDLE_APP_CONFIG=/usr/local/bundle",
"JEKYLL_ENV=production",
"VITE_RUBY_VITE_BIN_PATH=/node_modules/.bin/vite"
],
"Cmd": [
"bundle",
"exec",
"jekyll",
"build"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/data",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "Miao Wang \u003cshankerwangmiao@gmail.com\u003e"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 1848326087,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/a6e6c109ae6501bb784867a5f563846a0fcdade4b1ae1155d414cca7fd904bde/diff:/var/lib/docker/overlay2/df236be1fe025210352abcb9b99a239c021ab64a61e0f6aa43692f0ea4b14b23/diff:/var/lib/docker/overlay2/810cd60d254bdafade1d8af5509f8429d0a2ed4c42ba2530aaa405606e36cd6e/diff:/var/lib/docker/overlay2/b7ad2b37ac611badcc3af577268cc0b90b5bd0e5a286549e9b8badd6111c2836/diff:/var/lib/docker/overlay2/6e0312c3b75360e8a8c459f28a8789b31a5ac303502cd66b726bfd56b0626d8f/diff:/var/lib/docker/overlay2/03ad0728369397e6b6e7bac15ac4fc937f7ca89837acc1f5083e8109e1b63888/diff:/var/lib/docker/overlay2/e457d9b85ee0e8d4f3699eca07324886cf4856b68a74a675da1f11e4fb1f3e92/diff:/var/lib/docker/overlay2/224650dab7121361fb4d04f12635f516df375f428e54258dc3275bccdf5b7e35/diff:/var/lib/docker/overlay2/d9f57280d489ee38903782479923ae7a8891b2d7bc6e954ae0314a36ffed6771/diff:/var/lib/docker/overlay2/394dc9ecd801c7e1e687e43d8fff0a62f76b6df5e57fba7c3f81853f92d1ee2a/diff:/var/lib/docker/overlay2/5f146dc93b09cb5dd1a361714a6522a8915b4ad64e017b34e61f62f43e7d12f1/diff:/var/lib/docker/overlay2/ad5b7b7072acfa7c07c357f516d3ff2e7ace5458d9ab98a8a8141948aa418710/diff:/var/lib/docker/overlay2/3ac07502975cf179fa2afcaf62eccc16de1bf72acd8897dd06cb802b7f8563d8/diff",
"MergedDir": "/var/lib/docker/overlay2/0781d0fd387d7acd1fd79e8cba05c6d35613050290ad5a26d26b0ab18af5ed57/merged",
"UpperDir": "/var/lib/docker/overlay2/0781d0fd387d7acd1fd79e8cba05c6d35613050290ad5a26d26b0ab18af5ed57/diff",
"WorkDir": "/var/lib/docker/overlay2/0781d0fd387d7acd1fd79e8cba05c6d35613050290ad5a26d26b0ab18af5ed57/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:47e673e32817fbaf53619364587ebf6b2d41f3fd5e02b3fa6a3b2fd01b47ddfb",
"sha256:85d7410c5277c689a6771b45f6ac2f4298a7944622b4d1ed1b1cbe2d2c8ef12d",
"sha256:af606ad92004d765746ee588a56689e5029c89f4b39ac68e6b0d7c314f347045",
"sha256:ed77f94824e3952a1dc21249ece7bb10c9c933ca38ec9aaa5157cf7e51851fbd",
"sha256:b1f685483ca9deef603eafb25fd06eb658d8c9a68f271724b7d68b4071bcb493",
"sha256:c6d5bdbbb4e7626b82a3cc7d4fee05e1558e8a6a6379653f494f227526bcf07b",
"sha256:233961b6670f6c82f919a017b4622c4dcab5dfd82ef1a6a11b1b07a202e7afbb",
"sha256:f145e813bcf4863900e1284c1e34cab97151e4de7c018ab3f239ba02304dfba6",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:6bae6428b5a91669301e403151bc7ccade87a979eb14136b0c8710cfa70e7786",
"sha256:4a4ebe1269ae5b4741c9a85c31f1f5a171f0a388a20cecf49031fd0783fad45d",
"sha256:8a5aa9f94aea4797c5ab23d7b97e04228fb6be3e39cb068973fc42effaed65f1",
"sha256:5734d4a768407a15f6791e5a4e500a69eb0f624d3620347ada60ab35aea6cf83",
"sha256:bc867df6e0787ca1de897e80e0ab3c43df260dec20a95f98ee0df86cd2fe870b"
]
},
"Metadata": {
"LastTagTime": "2026-05-25T17:55:26.282222026+08:00"
}
}