镜像构建历史
# 2025-09-05 18:08:43 0.00B 设置默认要执行的命令
CMD ["python" "main.py"]
# 2025-09-05 18:08:43 0.00B 声明容器运行时监听的端口
EXPOSE map[6186/tcp:{}]
# 2025-09-05 18:08:43 0.00B 声明容器运行时监听的端口
EXPOSE map[6185/tcp:{}]
# 2025-09-05 18:08:43 645.00B 执行命令并创建新的镜像层
RUN /bin/sh -c echo 'export PATH=$PATH:/root/.pyffmpeg/bin' >> ~/.bashrc # buildkit
# 2025-09-05 18:08:43 229.02MB 执行命令并创建新的镜像层
RUN /bin/sh -c python -c "from pyffmpeg import FFmpeg; ff = FFmpeg();" # buildkit
# 2025-09-05 18:07:37 57.62MB 执行命令并创建新的镜像层
RUN /bin/sh -c uv pip install socksio uv pyffmpeg pilk --no-cache-dir --system # buildkit
# 2025-09-05 18:01:56 214.12MB 执行命令并创建新的镜像层
RUN /bin/sh -c uv pip install -r requirements.txt --no-cache-dir --system # buildkit
# 2025-09-05 18:00:58 75.46MB 执行命令并创建新的镜像层
RUN /bin/sh -c python -m pip install uv # buildkit
# 2025-09-05 17:58:16 559.02MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends nodejs npm gcc build-essential python3-dev libffi-dev libssl-dev ca-certificates bash && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
# 2025-09-05 17:44:24 2.36MB 复制新文件或目录到容器中
COPY . /AstrBot/ # buildkit
# 2025-09-05 17:44:24 0.00B 设置工作目录为/AstrBot
WORKDIR /AstrBot
# 2025-08-09 02:20:34 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2025-08-09 02:20:34 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
# 2025-08-09 02:20:34 45.63MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-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 -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; 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)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; 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; 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 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==65.5.1' 'wheel<0.46' ; pip3 --version # buildkit
# 2025-08-09 02:20:34 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=8fb5f9fbc7609fa822cb31549884575db7fd9657cbffb89510b5d7975963a83a
# 2025-08-09 02:20:34 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.11.13
# 2025-08-09 02:20:34 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
# 2025-08-09 02:20:34 3.85MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; apt-get dist-clean # buildkit
# 2025-08-09 02:20:34 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2025-08-09 02:20:34 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-08-09 02:20:34 100.56MB
# debian.sh --arch 'arm64' out/ 'trixie' '@1754870400'
镜像信息
{
"Id": "sha256:15ad1760aa418dae1d0f698484466928f19474717a730f31e52719b3554dc978",
"RepoTags": [
"soulter/astrbot:v4.0.0-beta.5",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/soulter/astrbot:v4.0.0-beta.5-linuxarm64"
],
"RepoDigests": [
"soulter/astrbot@sha256:a86502dc08b9e28bcb92364ca45092bee528711aeee1e294ca23ae907e7c83bc",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/soulter/astrbot@sha256:43be66da5b3fd57cbded766c2d1c23c7a022d7acd3e1923874617b6558895af8"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-09-05T10:08:43.5916739Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"6185/tcp": {},
"6186/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D",
"PYTHON_VERSION=3.11.13",
"PYTHON_SHA256=8fb5f9fbc7609fa822cb31549884575db7fd9657cbffb89510b5d7975963a83a"
],
"Cmd": [
"python",
"main.py"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/AstrBot",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"Architecture": "arm64",
"Os": "linux",
"Size": 1287651972,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/2ee37c4f0e11ad8d31305bd688a88089577fca7542d03b569aa80b07ff96a507/diff:/var/lib/docker/overlay2/deede18b272ae709c55c3b1bf12f2d304c1ad9d8c7f37352faf29bf271b32109/diff:/var/lib/docker/overlay2/5bd62769429932238eb6c1fc8b0e5615594412f06b3f0e60107095757cdbabef/diff:/var/lib/docker/overlay2/8ae5e441487d4bf364e4bf3edc883fb9b6d6cec41f81fbf202e6ca43a4229717/diff:/var/lib/docker/overlay2/b35cce0071043d1edaf1c1ba66dd82c44473ec2d88b50f750f7f975298267c6b/diff:/var/lib/docker/overlay2/91e07d1c0c52ec347bd6175b2033dcf8d1c3c66da11a1293952b8534211613bd/diff:/var/lib/docker/overlay2/d6ad4923f069726c151f184effabd032b32134f6bcc694224b23b3cd8771016f/diff:/var/lib/docker/overlay2/6a50f7d4d517f8a789f7dc415ade8a3f4188ec8220f693fcd7d58414c293974f/diff:/var/lib/docker/overlay2/29388665ff3abcd1220a5d8faad346f6cd108e634093d976c1742ecc183c33fe/diff:/var/lib/docker/overlay2/837aaf47f67f05154e098aff346288f24e352d89bbead452235f012b74fd66f7/diff:/var/lib/docker/overlay2/8ac527b351f39b95e6adfef824fb9bf6f2bb61c19a7860000cbc82b46d46e630/diff",
"MergedDir": "/var/lib/docker/overlay2/96a0cf70b1e6dd0275710fae8de1a09a027fb19c6b6ec12af329bcdd31c2d178/merged",
"UpperDir": "/var/lib/docker/overlay2/96a0cf70b1e6dd0275710fae8de1a09a027fb19c6b6ec12af329bcdd31c2d178/diff",
"WorkDir": "/var/lib/docker/overlay2/96a0cf70b1e6dd0275710fae8de1a09a027fb19c6b6ec12af329bcdd31c2d178/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:2a7f563c8c5a6f6ea12726995d454456dcf25752712a1cdf1d7e1b47c23179af",
"sha256:92bb8d2db95dacbaf482c5b8e75df664db14883c62710bb866e2cfa38e2664cf",
"sha256:f96ad2419eee174309778fc23a91afd389b23a8d1414bff89ce3fd49456108df",
"sha256:3a79322c8eb5ba7a437561636cdee6dd83649f91e062a0080d2611e4bde4877d",
"sha256:400304e33146f1573d7fb248be72858e214a30d61c463f4288730d011b1a0558",
"sha256:73cee1451e29179f9b0bf165305bcc24c4cfc05cfeffcd3dd1100ab4edae2394",
"sha256:7a737bc7f331dcf6add26e470bf2575ad53f1c4451706cad776fdf43a5ee6061",
"sha256:231675ffb35d078216d27b659fdf497aff8b5adce9a8d31ab3606105696637b9",
"sha256:13a5986dbc684b9084f99a340e4022be76e8a9c2ee783a7e3d7b5132ce5a3898",
"sha256:538b71da9ec54b6eb52e716da0d4ec3f4772565b135883f0b93a287a4ad7fe37",
"sha256:339b5cacec1edcc0c16c7d07c1e9799c2ea2c852ad273e874f496eee117ff85a",
"sha256:56aa35402ce09dc542cda5563ac9bae398a59c91c82f7111de576debb4ab8ff0"
]
},
"Metadata": {
"LastTagTime": "2025-09-05T23:29:01.375872417+08:00"
}
}