镜像构建历史
# 2024-10-10 21:47:36 0.00B 配置容器启动时运行的命令
ENTRYPOINT [".venv/bin/python3" "xiaomusic.py"]
# 2024-10-10 21:47:36 0.00B 设置环境变量 PATH
ENV PATH=/app/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2024-10-10 21:47:36 0.00B 声明容器运行时监听的端口
EXPOSE map[8090/tcp:{}]
# 2024-10-10 21:47:36 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/app/music]
# 2024-10-10 21:47:36 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/app/conf]
# 2024-10-10 21:47:36 0.00B 设置环境变量 XIAOMUSIC_PORT
ENV XIAOMUSIC_PORT=8090
# 2024-10-10 21:47:36 0.00B 设置环境变量 XIAOMUSIC_HOSTNAME
ENV XIAOMUSIC_HOSTNAME=192.168.2.5
# 2024-10-10 21:47:36 93.00B 复制新文件或目录到容器中
COPY xiaomusic.py . # buildkit
# 2024-10-10 21:47:36 479.00B 复制新文件或目录到容器中
COPY plugins/ ./plugins/ # buildkit
# 2024-10-10 21:47:36 7.51MB 复制新文件或目录到容器中
COPY xiaomusic/ ./xiaomusic/ # buildkit
# 2024-10-10 21:47:36 265.96MB 复制新文件或目录到容器中
COPY /app/ffmpeg /app/ffmpeg # buildkit
# 2024-10-10 21:47:35 74.58MB 复制新文件或目录到容器中
COPY /app/.venv /app/.venv # buildkit
# 2024-10-10 21:46:16 0.00B 设置工作目录为/app
WORKDIR /app
# 2024-09-10 01:16:05 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2024-09-10 01:16:05 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
# 2024-09-10 01:16:05 42.96MB 执行命令并创建新的镜像层
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 libexpat1-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"; 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 --with-lto --with-system-expat --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:-}" "PROFILE_TASK=${PROFILE_TASK:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" "PROFILE_TASK=${PROFILE_TASK:-}" 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 -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/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==65.5.1' wheel ; pip3 --version # buildkit
# 2024-09-10 01:16:05 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.10.15
# 2024-09-10 01:16:05 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
# 2024-09-10 01:16:05 9.24MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit
# 2024-09-10 01:16:05 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2024-09-10 01:16:05 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2024-09-10 01:16:05 0.00B
/bin/sh -c #(nop) CMD ["bash"]
# 2024-09-10 01:16:05 74.78MB
/bin/sh -c #(nop) ADD file:a9a95cfab16803be03e59ade41622ef5061cf90f2d034304fe4ac1ee9ff30389 in /
镜像信息
{
"Id": "sha256:1b70836f2f762f4fec4fde08f71e681189c0906e4c79aa752b8d8b09d47af69c",
"RepoTags": [
"hanxi/xiaomusic:main",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/hanxi/xiaomusic:main"
],
"RepoDigests": [
"hanxi/xiaomusic@sha256:3eaabe0dd91c955a06273b88d9c46c0cd4f3d7aadced3dcfa98da8563b71d38a",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/hanxi/xiaomusic@sha256:2d7d0b9caf06e2a4a76b05d090d7d40410d5196efbd6aa2674960698be27a9cb"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2024-10-10T13:47:36.3827393Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8090/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/app/.venv/bin:/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.10.15",
"XIAOMUSIC_HOSTNAME=192.168.2.5",
"XIAOMUSIC_PORT=8090"
],
"Cmd": null,
"ArgsEscaped": true,
"Image": "",
"Volumes": {
"/app/conf": {},
"/app/music": {}
},
"WorkingDir": "/app",
"Entrypoint": [
".venv/bin/python3",
"xiaomusic.py"
],
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 475029817,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/5f290096a04a21d8831444d12cbce6ef4563b6f2330ea7b2278da3412ce5643a/diff:/var/lib/docker/overlay2/fef0b2e7364d8ef72fecb099830a4298bb58706a42d8e75be405e17e3881ed5e/diff:/var/lib/docker/overlay2/0687ef968ca0b597bec5270ea97f17597268ba97266b9d4b40475f8ef8b2c6df/diff:/var/lib/docker/overlay2/31301ddc8b01bf33547fafe5c711c4db55265c7b1103d8a141de15ff5e9e31c8/diff:/var/lib/docker/overlay2/1f1862c040ed51534930b6894a475ffe67210742d3940b96460263a6c91c8e2e/diff:/var/lib/docker/overlay2/9fee243c3f30210039807ae2c4174de5e58ffd5d99c1bc3f4b9d76e2ee9310d3/diff:/var/lib/docker/overlay2/13f5c8cf00dd52b32848b60096dc199730f5f5e87a7db620454e1a5d2c8745a6/diff:/var/lib/docker/overlay2/a5a50e95b843f6e91042928aab94fd6540846b97c659fea232404fa03de6d7b5/diff:/var/lib/docker/overlay2/1bccca92078a7af8b31c9945ce2f68029d684347892dd2e49c5a3b836eef3b8c/diff",
"MergedDir": "/var/lib/docker/overlay2/9046bbe44633175002903b6e87278db6e35de6b25ec6717378c8b0cd4b57daf3/merged",
"UpperDir": "/var/lib/docker/overlay2/9046bbe44633175002903b6e87278db6e35de6b25ec6717378c8b0cd4b57daf3/diff",
"WorkDir": "/var/lib/docker/overlay2/9046bbe44633175002903b6e87278db6e35de6b25ec6717378c8b0cd4b57daf3/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:8d853c8add5d1e7b0aafc4b68a3d9fb8e7a0da27970c2acf831fe63be4a0cd2c",
"sha256:9d6f7ae9ff33abede04d0e3307f5e3a4b6fda7c5c3dd73df3bb0eebe37dd0c24",
"sha256:dfa4c16a8763340345b2e2981b59ceae4e28ea22f1fc1babdbc4198003835b2a",
"sha256:7f6b4f9d581bdb49dba3c78c88bded0ce2a10ae056fdfcdeaef2391fa71a4ee4",
"sha256:d07ff12502297c86a4e3e3e206d12455810d053ce4b58902db4f3457d4133ee5",
"sha256:e1b9cfddc50a7e962e300ce17565684c7206271916ddafe220c1d1040cb63a8a",
"sha256:95b3ec13b80ec4fb383b3b52513a95ba7bf629586731b6e5f568d9a778a235e0",
"sha256:7ece778d353b606e9fb6174aa21da43dc2942dee222c19e4227c537830c70296",
"sha256:3c3464ea678ea46b204604a74f8a8d08a8530001d092145646684031d541c700",
"sha256:caf90893455e3eeb74185138148306e0316ea008ec0352d5a4d7f323071522a1"
]
},
"Metadata": {
"LastTagTime": "2024-10-11T13:51:31.504801184+08:00"
}
}