镜像构建历史
# 2024-12-02 21:30:32 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/bin/sh" "-c" "/iptv-api-entrypoint.sh"]
# 2024-12-02 21:30:32 0.00B 执行命令并创建新的镜像层
RUN |2 APP_WORKDIR=/iptv-api-lite LITE=True /bin/sh -c chmod +x /iptv-api-entrypoint.sh # buildkit
# 2024-12-02 21:30:31 271.12KB 复制新文件或目录到容器中
COPY config /iptv-api-config # buildkit
# 2024-12-02 21:30:31 345.00B 复制新文件或目录到容器中
COPY entrypoint.sh /iptv-api-entrypoint.sh # buildkit
# 2024-12-02 21:30:31 0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{}]
# 2024-12-02 21:30:31 291.00B 执行命令并创建新的镜像层
RUN |2 APP_WORKDIR=/iptv-api-lite LITE=True /bin/sh -c (crontab -l ; echo "0 22 * * * cd $APP_WORKDIR && /.venv/bin/python main.py"; echo "0 10 * * * cd $APP_WORKDIR && /.venv/bin/python main.py") | crontab - # buildkit
# 2024-12-02 21:30:31 0.00B 执行命令并创建新的镜像层
RUN |2 APP_WORKDIR=/iptv-api-lite LITE=True /bin/sh -c if [ "$LITE" = False ]; then apt-get install -y --no-install-recommends chromium chromium-driver; fi && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
# 2024-12-02 21:30:30 62.05MB 执行命令并创建新的镜像层
RUN |2 APP_WORKDIR=/iptv-api-lite LITE=True /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cron # buildkit
# 2024-12-02 20:33:05 917.00B 执行命令并创建新的镜像层
RUN |2 APP_WORKDIR=/iptv-api-lite LITE=True /bin/sh -c echo "deb https://mirrors.aliyun.com/debian/ bookworm main contrib non-free non-free-firmware\n deb-src https://mirrors.aliyun.com/debian/ bookworm main contrib non-free non-free-firmware\n deb https://mirrors.aliyun.com/debian/ bookworm-updates main contrib non-free non-free-firmware\n deb-src https://mirrors.aliyun.com/debian/ bookworm-updates main contrib non-free non-free-firmware\n deb-src https://mirrors.aliyun.com/debian/ bookworm-updates main contrib non-free non-free-firmware\n deb https://mirrors.aliyun.com/debian/ bookworm-backports main contrib non-free non-free-firmware\n deb-src https://mirrors.aliyun.com/debian/ bookworm-backports main contrib non-free non-free-firmware\n deb https://mirrors.aliyun.com/debian-security/ bookworm-security main contrib non-free non-free-firmware\n deb-src https://mirrors.aliyun.com/debian-security/ bookworm-security main contrib non-free non-free-firmware\n" > /etc/apt/sources.list # buildkit
# 2024-12-02 20:33:05 64.16MB 复制新文件或目录到容器中
COPY /app/.venv /.venv # buildkit
# 2024-12-02 20:33:04 1.57MB 复制新文件或目录到容器中
COPY . /iptv-api-lite # buildkit
# 2024-11-28 16:35:42 0.00B 设置工作目录为/iptv-api-lite
WORKDIR /iptv-api-lite
# 2024-11-28 16:35:42 0.00B 设置环境变量 PATH
ENV PATH=/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2024-11-28 16:35:42 0.00B 设置环境变量 LITE
ENV LITE=True
# 2024-11-28 16:35:42 0.00B 设置环境变量 APP_WORKDIR
ENV APP_WORKDIR=/iptv-api-lite
# 2024-11-28 16:35:42 0.00B 定义构建参数
ARG LITE=True
# 2024-11-28 16:35:42 0.00B 定义构建参数
ARG APP_WORKDIR=/iptv-api-lite
# 2024-10-19 07:23:40 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2024-10-19 07:23:40 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-10-19 07:23:40 36.77MB 执行命令并创建新的镜像层
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 --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 -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 --version # buildkit
# 2024-10-19 07:23:40 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=086de5882e3cb310d4dca48457522e2e48018ecd43da9cdf827f6a0759efb07d
# 2024-10-19 07:23:40 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.13.0
# 2024-10-19 07:23:40 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
# 2024-10-19 07:23:40 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-10-19 07:23:40 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2024-10-19 07:23:40 0.00B 设置默认要执行的命令
CMD ["bash"]
# 2024-10-19 07:23:40 74.78MB 复制文件或目录到容器中
ADD rootfs.tar.xz / # buildkit
镜像信息
{
"Id": "sha256:3ede71abe095efc699cd2a88638123073e700346e1aa607c6c84518109d15762",
"RepoTags": [
"guovern/iptv-api:lite",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/guovern/iptv-api:lite"
],
"RepoDigests": [
"guovern/iptv-api@sha256:3587c0fcbee8794f09c8166700f271f9a54e1a85df2da1474ed0a550e1b3dc3b",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/guovern/iptv-api@sha256:b8134d9988916ab41f377231da9d69ab35bacc66cf2463aa807b4371c0fbd020"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2024-12-02T13:30:32.481621398Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8000/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
"PYTHON_VERSION=3.13.0",
"PYTHON_SHA256=086de5882e3cb310d4dca48457522e2e48018ecd43da9cdf827f6a0759efb07d",
"APP_WORKDIR=/iptv-api-lite",
"LITE=True"
],
"Cmd": null,
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/iptv-api-lite",
"Entrypoint": [
"/bin/sh",
"-c",
"/iptv-api-entrypoint.sh"
],
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 248830048,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/1f2a24c12fbe2e696afe4ebd265e3294d29c7ba8b2d2b5e00e15c9e53b4ff343/diff:/var/lib/docker/overlay2/1f99154be17353188f3b78b01d5ab2aa513554f613b322e694327e16c106cfc1/diff:/var/lib/docker/overlay2/cb05c83e49675d23f48f8c12566d37e0007e02d613c1b6345dd6c1054a36470c/diff:/var/lib/docker/overlay2/832865b0cf69e18433833f6dec9e3582d00e7ceb77365e7086e554008fc3def5/diff:/var/lib/docker/overlay2/fd7e77b8add82428e452726ad052cd51cce4adacd88f18de79f16fe96b69937d/diff:/var/lib/docker/overlay2/a45b0d3058b2fd8b42bd7dc7e7289c9048787b235469996d5832fba1162400bb/diff:/var/lib/docker/overlay2/91c4e4470188b7404f709a36e4828815051169b98b29ccecb730989e686646f7/diff:/var/lib/docker/overlay2/ac272a39b9d168a4cb47a8d944412fc2a1f03dcf1907ea293747a9dcb7958796/diff:/var/lib/docker/overlay2/c195b9c710998994ddd179d612ead74d42090f55277289f4f099081198daa1bb/diff:/var/lib/docker/overlay2/51bb3d7c450f9feebbbaf5c1a076ab875bf357fdf0c5a62e71e5a352577a37c0/diff:/var/lib/docker/overlay2/c54ae7fd07918ad2a67f473d491ba01687823fe4d9e70d1c4a2b9bba07dedb97/diff:/var/lib/docker/overlay2/985851db100f1b4885df7b62e9c2c7a9b37352c405111f680ebb0f03e68f7cd2/diff:/var/lib/docker/overlay2/91eaeb3375babd906dc7e8a6c516620560ab7dbfb21b9881f9ae71d2e2f398b0/diff",
"MergedDir": "/var/lib/docker/overlay2/4ed505dfe096cfd3726cbc84680f09338bead8f05b1f4ea123b9f55ae74390b9/merged",
"UpperDir": "/var/lib/docker/overlay2/4ed505dfe096cfd3726cbc84680f09338bead8f05b1f4ea123b9f55ae74390b9/diff",
"WorkDir": "/var/lib/docker/overlay2/4ed505dfe096cfd3726cbc84680f09338bead8f05b1f4ea123b9f55ae74390b9/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:c3548211b8264f8bfa47a6727043a64f1791b82ac965a284a7ea187e971a95e2",
"sha256:2f130876ec2ff3f92dcf2d3d40848dcf1424aded2dc577b57a927ec54f8eb615",
"sha256:1ed447603d2036003069550d6675135ab2142de492255ce5d50ab23215be8d0f",
"sha256:40ac043c693960632ef4db9082a3e59342426dfc43b26add350d5abac67f249e",
"sha256:44d65fb9859b68f24b799b77594087e99692dbd6cce1d9274cb1455471f00f8d",
"sha256:9c0c2d215fc2fdbf8fb4f8a4ed4b173c379df4a08073e0630e86455312b0feac",
"sha256:02454b2b7a5946f8b2e2dfa34c2dd3e169e3e3cb42394ba7c99218f9469124ec",
"sha256:dfccab826759d7c296289943cf636c0640af66b333c838d349c7b9ccbbcfc855",
"sha256:25eead8d0401f5680dbecc346f3fc7a84bd8c73099477a1108039cd8b9d5c1bb",
"sha256:54d5157cf88af07bf40b5c8db61f0a3d4937f858264f397899864d858761a2d3",
"sha256:872be30755980463429210211bb43889717b85594305bfe4ba16b97edad1657b",
"sha256:0f7f63162c10b87c813ec5a4d6643864327556cac0c9e5878bbb1212755fad68",
"sha256:f79f7808c833653e765f9b139ff476450ae1c067f197fc345539c14d82ab9f63",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
]
},
"Metadata": {
"LastTagTime": "2024-12-15T21:56:56.971844731+08:00"
}
}