镜像构建历史
# 2025-04-16 01:47:47 0.00B 指定运行容器时使用的用户
USER 1000
# 2025-04-16 01:47:47 0.00B 设置默认要执行的命令
CMD ["ruby" "details.rb" "9080"]
# 2025-04-16 01:47:47 0.00B 声明容器运行时监听的端口
EXPOSE map[9080/tcp:{}]
# 2025-04-16 01:47:47 0.00B 设置环境变量 ENABLE_EXTERNAL_BOOK_SERVICE
ENV ENABLE_EXTERNAL_BOOK_SERVICE=true
# 2025-04-16 01:47:47 0.00B 定义构建参数
ARG enable_external_book_service=true
# 2025-04-16 01:47:47 0.00B 设置环境变量 SERVICE_VERSION
ENV SERVICE_VERSION=v2
# 2025-04-16 01:47:47 0.00B 定义构建参数
ARG service_version=v2
# 2025-04-16 01:47:47 5.99KB 复制新文件或目录到容器中
COPY details.rb /opt/microservices/ # buildkit
# 2025-04-16 01:47:46 23.39MB 执行命令并创建新的镜像层
RUN /bin/sh -c bundle install # buildkit
# 2025-04-16 01:47:35 226.00B 复制新文件或目录到容器中
COPY Gemfile Gemfile.lock /opt/microservices/ # buildkit
# 2025-04-16 01:47:35 0.00B 设置工作目录为/opt/microservices
WORKDIR /opt/microservices
# 2025-04-15 01:03:18 0.00B 设置默认要执行的命令
CMD ["irb"]
# 2025-04-15 01:03:18 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; mkdir "$GEM_HOME"; chmod 1777 "$GEM_HOME" # buildkit
# 2025-04-15 01:03:18 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-04-15 01:03:18 0.00B 设置环境变量 BUNDLE_SILENCE_ROOT_WARNING BUNDLE_APP_CONFIG
ENV BUNDLE_SILENCE_ROOT_WARNING=1 BUNDLE_APP_CONFIG=/usr/local/bundle
# 2025-04-15 01:03:18 0.00B 设置环境变量 GEM_HOME
ENV GEM_HOME=/usr/local/bundle
# 2025-04-15 01:03:18 80.79MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev libgdbm-dev ruby autoconf bzip2 g++ gcc libbz2-dev libffi-dev libgdbm-compat-dev libglib2.0-dev libgmp-dev libncurses-dev libssl-dev libxml2-dev libxslt-dev libyaml-dev make wget xz-utils zlib1g-dev ; rustArch=; dpkgArch="$(dpkg --print-architecture)"; case "$dpkgArch" in 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; 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.84.0' --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 | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; 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
# 2025-04-15 01:03:18 0.00B 设置环境变量 RUBY_DOWNLOAD_SHA256
ENV RUBY_DOWNLOAD_SHA256=174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd
# 2025-04-15 01:03:18 0.00B 设置环境变量 RUBY_DOWNLOAD_URL
ENV RUBY_DOWNLOAD_URL=https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz
# 2025-04-15 01:03:18 0.00B 设置环境变量 RUBY_VERSION
ENV RUBY_VERSION=3.4.3
# 2025-04-15 01:03:18 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2025-04-15 01:03:18 19.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; mkdir -p /usr/local/etc; echo 'gem: --no-document' >> /usr/local/etc/gemrc # buildkit
# 2025-04-15 01:03:18 9.21MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates ; rm -rf /var/lib/apt/lists/* # buildkit
# 2025-04-07 08:00:00 74.83MB
# debian.sh --arch 'amd64' out/ 'bookworm' '@1743984000'
镜像信息
{
"Id": "sha256:22d8cdf50b3b59be934aaa25fcb0fe5209994cd5450aa5ef4dbc7c2e09f1f385",
"RepoTags": [
"istio/examples-bookinfo-details-v2:1.20.3",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/istio/examples-bookinfo-details-v2:1.20.3"
],
"RepoDigests": [
"istio/examples-bookinfo-details-v2@sha256:5f7fbe6987e572276ae824e9cfe7a33dae1896dd855fa5c487faa890fad6f010",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/istio/examples-bookinfo-details-v2@sha256:54156341cde2c5b4f0f455151ea51c7d187951084f56b7fcc463e06be44de9dc"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-04-15T17:47:47.012220927Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "1000",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"9080/tcp": {}
},
"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.4.3",
"RUBY_DOWNLOAD_URL=https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz",
"RUBY_DOWNLOAD_SHA256=174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd",
"GEM_HOME=/usr/local/bundle",
"BUNDLE_SILENCE_ROOT_WARNING=1",
"BUNDLE_APP_CONFIG=/usr/local/bundle",
"SERVICE_VERSION=v2",
"ENABLE_EXTERNAL_BOOK_SERVICE=true"
],
"Cmd": [
"ruby",
"details.rb",
"9080"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/opt/microservices",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 188227760,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/1e8442c05b2ace90e5431fa6c84a4e19ad0e7aa1003a5f570026c898ba26f81a/diff:/var/lib/docker/overlay2/e31ad5185cf1a7f99fb67f4903d0bb644da5e22c720811e4c37a2a8a59c7dee8/diff:/var/lib/docker/overlay2/fe4f07a652764eb74e9c12251c84d99a3137e4cdde6b02d7472a32f1c8bd4355/diff:/var/lib/docker/overlay2/c2a95f83580375aee6ff86466e0a105628ea2952e14eddd35abdb09f570b8c0e/diff:/var/lib/docker/overlay2/391f7d8a40fe6a5cc2da4b2897939e549b6d19dbb2682a306071d638d50faf90/diff:/var/lib/docker/overlay2/5e16d49aa0d751c98e4b1bc64beab4794acdd28775aabc8a8fb480bd8ab5cfbf/diff:/var/lib/docker/overlay2/85dfb6241bc72ee511b4648a2c88f6805004e7955ef1641691cd4258ce4eb917/diff:/var/lib/docker/overlay2/55b110e642eb4bf032f28cb4f66cc601b62b41b35750da84fee581398a5f3895/diff",
"MergedDir": "/var/lib/docker/overlay2/de5de3e6de592a654b5107d77f094c2d062134c65cd6ffb8dc30a9def21ce7ee/merged",
"UpperDir": "/var/lib/docker/overlay2/de5de3e6de592a654b5107d77f094c2d062134c65cd6ffb8dc30a9def21ce7ee/diff",
"WorkDir": "/var/lib/docker/overlay2/de5de3e6de592a654b5107d77f094c2d062134c65cd6ffb8dc30a9def21ce7ee/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:ea680fbff095473bb8a6c867938d6d851e11ef0c177fce983ccc83440172bd72",
"sha256:9b2fafff6caa89ff958d17155d9a4ed50be70e9bf7f80e8e9786a5e82575736f",
"sha256:0a9090d624ea3e92f3c3cfed624ab3c47ad2cc2504003b1199d220d87fe7ef5b",
"sha256:7d85aca062541c7315036f2936d0077d5a21563e8d903b728ddc310b15e8fc4d",
"sha256:ba79146f186560009609ac559b33c1fbbb5d28085b4a96cfed209cb863e4585e",
"sha256:19f5ed53f141ffff4415860d6eb2f265b58fc273aeaadd391935295cf5caff38",
"sha256:0c62962a2ec3024054d6625afac22e694198ffe69fc8062ba27c001d84c2eda0",
"sha256:e95cb2c033d285fe2fd26f35fe6b966c7f01c3cd6d0fde100db7fd0ee9870a52",
"sha256:93980c8985df996dddf8b5b371857d222835b71ee9bc78106529fce3105b5e5a"
]
},
"Metadata": {
"LastTagTime": "2026-05-23T15:42:47.045227754+08:00"
}
}