镜像构建历史
# 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=false
# 2025-04-16 01:47:47 0.00B 定义构建参数
ARG enable_external_book_service
# 2025-04-16 01:47:47 0.00B 设置环境变量 SERVICE_VERSION
ENV SERVICE_VERSION=v1
# 2025-04-16 01:47:47 0.00B 定义构建参数
ARG service_version=v1
# 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:f5c9bb264fb3a9ad80938d8081f736f9fa0146b5427c4b889a5a8128b410ca8d",
"RepoTags": [
"istio/examples-bookinfo-details-v1:1.20.3",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/istio/examples-bookinfo-details-v1:1.20.3"
],
"RepoDigests": [
"istio/examples-bookinfo-details-v1@sha256:a49731e1fc05d7c24a4103709f41d64180bed989b251625f4c31ba63022e303b",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/istio/examples-bookinfo-details-v1@sha256:c938690c34b16445f4f5f2768287adb89afbdac4ec8e67cbd3abac2a73f1805f"
],
"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=v1",
"ENABLE_EXTERNAL_BOOK_SERVICE=false"
],
"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/558fceeaeeda84abb37884743e024cc6e8c5c6143d7a70b11167869b8004e4cb/diff:/var/lib/docker/overlay2/72331adbebf78030c93d48c816dddcac49a961532048b60d58d9ab8e96a1dd0a/diff:/var/lib/docker/overlay2/fead766060b8678f71856ebe2e9d65f94ada8c9b70613a9b2e9f3fdcfe7a38cb/diff:/var/lib/docker/overlay2/50b22f379a1e4d48bb097f0c1e87b5748846c56187946d735b12d0c001a01d3e/diff:/var/lib/docker/overlay2/e339e3900f0b8cb31ad1067b46f7371f79606e259cf33c03fe435b3caa74f253/diff:/var/lib/docker/overlay2/b9d960d726fb13da1e4ad96d59053fdbc8c09cf3207b32b15b312122b1e1680b/diff:/var/lib/docker/overlay2/f4cd93367489e1647d715ab3d54c37b8e9da6882c25b3eb60f64d073481d5a2c/diff:/var/lib/docker/overlay2/95d13f9b6ffd1f510391d24f8cf4033f9f02c2aefb920b8c468ad7e086af2729/diff",
"MergedDir": "/var/lib/docker/overlay2/fe1d7eac99238f18f3a0dd302e85afdfe7460b069b6e7af240ccf25ec0f645b5/merged",
"UpperDir": "/var/lib/docker/overlay2/fe1d7eac99238f18f3a0dd302e85afdfe7460b069b6e7af240ccf25ec0f645b5/diff",
"WorkDir": "/var/lib/docker/overlay2/fe1d7eac99238f18f3a0dd302e85afdfe7460b069b6e7af240ccf25ec0f645b5/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": "2025-07-04T11:41:52.193855494+08:00"
}
}