镜像构建历史
# 2026-10-18 00:40:55 0.00B 设置默认要执行的命令
CMD ["sh" "-c" "service mariadb start && mycli --user root --database employees"]
# 2026-10-18 00:40:55 675.45MB 执行命令并创建新的镜像层
RUN /bin/sh -c cd /app && pip install --root-user-action=ignore -e .[llm,dataframe] # buildkit
# 2026-10-18 00:40:28 350.59MB 执行命令并创建新的镜像层
RUN /bin/sh -c service mariadb restart && cd /app/docker/resources && gunzip -c test_db-1.0.7.tar.gz | tar -xf - && cd test_db && mariadb < employees.sql && cd .. && rm -r -- ./test_db # buildkit
# 2026-10-18 00:40:12 1.03KB 复制新文件或目录到容器中
COPY docker/resources/dot_mycli_history.txt /root/.mycli-history # buildkit
# 2026-10-18 00:40:12 74.98MB 复制新文件或目录到容器中
COPY . /app # buildkit
# 2026-10-18 00:40:11 383.44MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update -qq && apt-get install -y --no-install-recommends --no-install-suggests -qq less fzf mariadb-server && apt-get clean autoclean && apt-get autoremove --yes && rm -rf /var/lib/{apt,dpkg,cache,log}/ # buildkit
# 2026-10-18 00:40:11 0.00B 设置环境变量 DEBIAN_FRONTEND
ENV DEBIAN_FRONTEND=noninteractive
# 2026-10-17 06:29:09 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2026-10-17 06:29:09 36.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit
# 2026-10-17 06:29:09 86.78MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends libmpdec-dev libzstd-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; bin="$(readlink -ve /usr/local/bin/python3)"; dir="$(dirname "$bin")"; mkdir -p "/usr/share/gdb/auto-load/$dir"; cp -vL Tools/gdb/libpython.py "/usr/share/gdb/auto-load/$bin-gdb.py"; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; 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 -rt 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; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
# 2026-10-17 06:22:44 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=ba4bed1ba346b916890b76d9e320451420aa69f6408997d33c66482eeae3d575
# 2026-10-17 06:22:44 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.15.0
# 2026-10-17 06:22:44 17.94MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends libbluetooth-dev tk-dev uuid-dev ; apt-get dist-clean # buildkit
# 2026-10-17 06:22:44 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-10-06 11:16:30 657.46MB 执行命令并创建新的镜像层
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-10-06 10:34:45 184.97MB 执行命令并创建新的镜像层
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-10-06 09:41:24 60.20MB 执行命令并创建新的镜像层
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-10-05 08:00:00 120.11MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1791158400'
镜像信息
{
"Id": "sha256:18e63ebdaba93c851e0fb4393e957acc896bc28a2deb84340ec1517619601798",
"RepoTags": [
"ghcr.io/dbcli/mycli:v2.30.0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/dbcli/mycli:v2.30.0"
],
"RepoDigests": [
"ghcr.io/dbcli/mycli@sha256:dd379e4df36535f299ce9ced998d838de576a29d8d0dbbc7ad9a732c9e8cec60",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/dbcli/mycli@sha256:f0d424d76640c25cfe9121872a5e3f3e0c6e754c4ff6203adbcb06ad46b9a77a"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-10-17T16:40:55.559898675Z",
"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/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PYTHON_VERSION=3.15.0",
"PYTHON_SHA256=ba4bed1ba346b916890b76d9e320451420aa69f6408997d33c66482eeae3d575",
"DEBIAN_FRONTEND=noninteractive"
],
"Cmd": [
"sh",
"-c",
"service mariadb start \u0026\u0026 mycli --user root --database employees"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"org.opencontainers.image.created": "2026-10-17T16:39:43.375Z",
"org.opencontainers.image.description": "Rich MySQL Terminal Client with AutoCompletion, Syntax Highlighting, and Dataframes",
"org.opencontainers.image.licenses": "BSD-3-Clause",
"org.opencontainers.image.revision": "17f929f43a5c998a45a67936ebe2722f59952ad3",
"org.opencontainers.image.source": "https://github.com/dbcli/mycli",
"org.opencontainers.image.title": "mycli",
"org.opencontainers.image.url": "https://github.com/dbcli/mycli",
"org.opencontainers.image.version": "v2.30.0"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 2611923920,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/ad74503af8297d69ad4c72fff5263e0f035c967ed16883a78fde55be3159b42e/diff:/var/lib/docker/overlay2/3c33de29b974ab75ea745d6c4461c5b08f8241378c95aa997b21017fd4ecc8b0/diff:/var/lib/docker/overlay2/40d0f44f3ac4199d93129965f115977bce6404b6314cec7d557684a3a0d01cae/diff:/var/lib/docker/overlay2/84c089ec8e9725a5fdd15cbc87f0c1f7fe9a126f1489b2e3a4bf90e7134d9caf/diff:/var/lib/docker/overlay2/872eeeeec12ec4d7b50f66b47783b5102cdc93f3669f85f4b053ec3cdbca974e/diff:/var/lib/docker/overlay2/11f912e5dabf2cd0bf09fc11a8f4f42fff2d1760c9a29869de006d1bf46f7445/diff:/var/lib/docker/overlay2/6b48740b4f319340be17f286d00cae36ad489479109850e2f37638d3d45ad437/diff:/var/lib/docker/overlay2/d2c4498f643e28dcb9d9bfbdaa1a2150d64a80abed00d0c937018f119c8fa614/diff:/var/lib/docker/overlay2/b4636aa5e90edcb535d65ec953ca606967c511edf63def2b23c939b1049dc0ea/diff:/var/lib/docker/overlay2/4468aa8ce412d591d5c316ffbd0b47e5d6da2a165f6a92bcaa9a6234c76a80fc/diff:/var/lib/docker/overlay2/b4125379f072108a745e06c5b8bd187cafba0b8fe0bdef1d55cd8fdcf693998c/diff",
"MergedDir": "/var/lib/docker/overlay2/48fce47bd69458c29091a0d810ffb69ed74dad4aa159c1bf5580f851664e2b65/merged",
"UpperDir": "/var/lib/docker/overlay2/48fce47bd69458c29091a0d810ffb69ed74dad4aa159c1bf5580f851664e2b65/diff",
"WorkDir": "/var/lib/docker/overlay2/48fce47bd69458c29091a0d810ffb69ed74dad4aa159c1bf5580f851664e2b65/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:0487fc82d485c6e44b5d5474f45d9740d7009d35040b4f0aad06327293ae5128",
"sha256:aa608ab8fe7e2cff3d58e1b2c62622dc68e83b7f2f6bbbd6cb3ed67b50945e3d",
"sha256:95bc6b7f78204d135ef84a8299c1ad390c09dd29d76a206fc15080c945fa5114",
"sha256:e45023dffebe5f63b91ad04c58c24a1288b8e2e99bd97928f9299c0a26d056fd",
"sha256:3ad9066112823521851f7f324fe3953c832fa70cea7c955c0657cabd3f93b22d",
"sha256:3338eb382bf18f845c16d425a927f75e20d66504bd28ed81203157087a8f5b65",
"sha256:8c15293f0caae0b4de59c1bd73e235238ce5052b686e3c2f2d3282d59fc3bc33",
"sha256:936e981a804587a094f16cb809b40e81a965d55f8c9d7fefc166e7dbdf01fb00",
"sha256:c084f06ff7330424e00fbe944b3aa200555e82beba4bf6d63a694fce7830418c",
"sha256:5eb6e6484378a84925c580a0dcdcbf4a9e468dfb196242779741f6bdb7957851",
"sha256:ccaec2a399ff6bbf8917ec659e58efc6c32c852aae06a681cb942902f46972b0",
"sha256:341fa9dd9869078b38883182b1206939cfa329e0df98292d38caa6fd389141f1"
]
},
"Metadata": {
"LastTagTime": "2026-10-20T22:04:52.71351858+08:00"
}
}