镜像构建历史
# 2025-01-30 09:04:11 0.00B 设置默认要执行的命令
CMD ["sh" "-c" "python /usr/src/app/run.py"]
# 2025-01-30 09:04:11 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/usr/src/app/config]
# 2025-01-30 09:04:11 0.00B 设置环境变量 TZ
ENV TZ=CST-8
# 2025-01-30 09:04:11 0.00B 声明容器运行时监听的端口
EXPOSE map[80/tcp:{}]
# 2025-01-30 09:04:11 0.00B 设置环境变量 PORT
ENV PORT=80
# 2025-01-30 09:04:11 119.32MB 执行命令并创建新的镜像层
RUN /bin/sh -c sed -i 's/mirrors.ustc.edu.cn/dl-cdn.alpinelinux.org/g' /etc/apk/repositories && sed -i 's/edge/v3.19/g' /etc/apk/repositories && sed -i '/testing/d' /etc/apk/repositories && apk update && apk add --update --no-cache openssh-client && chmod 600 /root/.ssh/id_rsa && ssh-keyscan gitee.com > /root/.ssh/known_hosts && let num=$RANDOM%100+10 && sleep $num && git clone --depth 1 git@gitee.com:qd-today/qd.git /gitclone_tmp && yes | cp -rf /gitclone_tmp/. /usr/src/app && rm -rf /gitclone_tmp && chmod +x /usr/src/app/update.sh && ln -s /usr/src/app/update.sh /bin/update && apk add --update --no-cache openssh-client python3 py3-six py3-markupsafe py3-pycryptodome py3-tornado py3-wrapt py3-packaging py3-greenlet py3-urllib3 py3-cryptography py3-aiosignal py3-async-timeout py3-attrs py3-frozenlist py3-multidict py3-charset-normalizer py3-aiohttp py3-typing-extensions py3-yarl py3-cffi && [[ $(getconf LONG_BIT) = "32" ]] && echo "Tips: 32-bit systems do not support ddddocr, so there is no need to install numpy and opencv-python" || apk add --update --no-cache py3-numpy-dev py3-opencv py3-pillow && apk add --no-cache --virtual .build_deps cmake make perl autoconf g++ automake py3-pip py3-setuptools py3-wheel python3-dev linux-headers libtool util-linux && sed -i '/ddddocr/d' requirements.txt && sed -i '/packaging/d' requirements.txt && sed -i '/wrapt/d' requirements.txt && sed -i '/pycryptodome/d' requirements.txt && sed -i '/tornado/d' requirements.txt && sed -i '/MarkupSafe/d' requirements.txt && sed -i '/pillow/d' requirements.txt && sed -i '/opencv/d' requirements.txt && sed -i '/numpy/d' requirements.txt && sed -i '/greenlet/d' requirements.txt && sed -i '/urllib3/d' requirements.txt && sed -i '/cryptography/d' requirements.txt && sed -i '/aiosignal/d' requirements.txt && sed -i '/async-timeout/d' requirements.txt && sed -i '/attrs/d' requirements.txt && sed -i '/frozenlist/d' requirements.txt && sed -i '/multidict/d' requirements.txt && sed -i '/charset-normalizer/d' requirements.txt && sed -i '/aiohttp/d' requirements.txt && sed -i '/typing-extensions/d' requirements.txt && sed -i '/yarl/d' requirements.txt && sed -i '/cffi/d' requirements.txt && pip install --no-cache-dir -r requirements.txt --break-system-packages && apk del .build_deps && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && rm -rf /var/cache/apk/* && rm -rf /usr/share/man/* # buildkit
# 2025-01-30 09:01:42 0.00B 设置工作目录为/usr/src/app
WORKDIR /usr/src/app
# 2025-01-30 09:01:42 560.00B 复制文件或目录到容器中
ADD ssh/qd_fetch.pub /root/.ssh/id_rsa.pub # buildkit
# 2025-01-30 09:01:42 2.45KB 复制文件或目录到容器中
ADD ssh/qd_fetch /root/.ssh/id_rsa # buildkit
# 2025-01-30 09:01:42 0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/qd-today/qd
# 2025-01-30 09:01:42 0.00B 添加元数据标签
LABEL maintainer=a76yyyy <q981331502@163.com>
# 2024-02-09 01:16:54 33.37MB 执行命令并创建新的镜像层
RUN /bin/sh -c apk update && apk add --update --no-cache bash git tzdata ca-certificates python3 py3-six && apk add --update --no-cache --virtual .build_deps nano openssh-client cmake make perl autoconf g++ automake linux-headers libtool util-linux file libidn2-dev libgsasl-dev krb5-dev zstd-dev nghttp2-dev zlib-dev brotli-dev python3-dev py3-pip py3-setuptools py3-wheel c-ares-dev nghttp3-dev libpsl-dev && file /bin/busybox && [[ $(getconf LONG_BIT) = "64" && -z $(file /bin/busybox | grep -i "arm") ]] && libdir="lib64" || libdir="lib" && [[ $(getconf LONG_BIT) = "32" && -z $(file /bin/busybox | grep -i "arm") ]] && configtmp="setarch i386 ./config -m32" || configtmp="./config " && wget https://curl.haxx.se/download/curl-$CURL_VERSION.tar.bz2 && tar xjvf curl-$CURL_VERSION.tar.bz2 && rm curl-$CURL_VERSION.tar.bz2 && git clone --depth 1 -b openssl-$SSL_VERSION+quic https://github.com/quictls/openssl && git clone --depth 1 https://github.com/ngtcp2/ngtcp2 && cd openssl && echo $configtmp enable-tls1_3 --prefix=/usr && $configtmp enable-tls1_3 --prefix=/usr && make -j$(($(grep -c ^processor /proc/cpuinfo) - 0)) && make install_sw && cd .. && rm -rf openssl && cd ngtcp2 && git submodule update --init && autoreconf -fi && ./configure PKG_CONFIG_PATH=/usr/$libdir/pkgconfig LDFLAGS="-Wl,-rpath,/usr/$libdir" --prefix=/usr --enable-lib-only && make -j$(($(grep -c ^processor /proc/cpuinfo) - 0)) check && make install && cd .. && rm -rf ngtcp2 && cd curl-$CURL_VERSION && autoreconf -fi && LDFLAGS="-Wl,-rpath,/usr/$libdir" ./configure --with-openssl=/usr --with-nghttp2=/usr --with-nghttp3=/usr --with-ngtcp2=/usr --prefix=/usr --enable-ipv6 --enable-unix-sockets --with-libidn2 --disable-static --disable-ldap --with-pic --with-gssapi --enable-ares && make -j$(($(grep -c ^processor /proc/cpuinfo) - 0)) && make install && cd .. && rm -rf ./curl-$CURL_VERSION && [[ -n $(find /usr/lib64 -name libssl.so.*) ]] && { ln -s /usr/lib64/libssl.so.81.3 /usr/lib/ && ln -s /usr/lib64/libcrypto.so.81.3 /usr/lib/ ;} || echo "" && pip install --no-cache-dir --compile --break-system-packages pycurl && apk del .build_deps && apk add --update --no-cache libidn2 libgsasl zlib c-ares nghttp2 nghttp3 libpsl && rm -rf /var/cache/apk/* && rm -rf /usr/share/man/* # buildkit
# 2024-02-09 01:16:54 0.00B 设置环境变量 CURL_VERSION
ENV CURL_VERSION=8.6.0
# 2024-02-09 01:16:54 0.00B 设置环境变量 SSL_VERSION
ENV SSL_VERSION=3.1.5
# 2024-02-09 01:16:54 0.00B 设置环境变量 PYCURL_SSL_LIBRARY
ENV PYCURL_SSL_LIBRARY=openssl
# 2024-02-09 01:16:54 0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/qiandao-today/pycurl-docker
# 2024-02-09 01:16:54 0.00B 添加元数据标签
LABEL maintainer=a76yyyy <q981331502@163.com>
# 2024-02-08 20:48:42 575.24MB 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 DDDDOCR_VERSION=master /bin/sh -c sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && echo 'https://mirrors.ustc.edu.cn/alpine/edge/testing' >> /etc/apk/repositories && apk update && apk add --update --no-cache bash git tzdata ca-certificates file python3 py3-six && [[ "${TARGETARCH}" != "i386" ]] && [[ "${TARGETARCH}" != "s390x" ]] && { apk add --update --no-cache py3-pillow py3-onnxruntime py3-opencv libprotobuf-lite && apk add --update --no-cache --virtual .build_deps py3-pip py3-setuptools py3-wheel protobuf-dev py3-numpy-dev lld samurai build-base gcc python3-dev musl-dev linux-headers make && git clone --branch $DDDDOCR_VERSION https://github.com/sml2h3/ddddocr.git && cd /ddddocr && sed -i '/install_package_data/d' setup.py && sed -i '/install_requires/d' setup.py && sed -i '/python_requires/d' setup.py && pip install --no-cache-dir --compile --break-system-packages . && cd / && rm -rf /ddddocr && apk del .build_deps; } || { apk add --update --no-cache libprotobuf-lite && echo "Onnxruntime Builder does not currently support building i386 and s390x wheels";} && rm -rf /var/cache/apk/* && rm -rf /usr/share/man/* # buildkit
# 2024-02-08 20:48:42 0.00B 定义构建参数
ARG DDDDOCR_VERSION=master
# 2024-02-08 20:48:42 0.00B 定义构建参数
ARG TARGETARCH
# 2024-02-08 20:48:42 0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/qd-today/ddddocr-docker
# 2024-02-08 20:48:42 0.00B 添加元数据标签
LABEL maintainer=a76yyyy <q981331502@163.com>
# 2023-12-20 16:48:17 0.00B
/bin/sh -c #(nop) CMD ["/bin/sh"]
# 2023-12-20 16:48:17 7.38MB
/bin/sh -c #(nop) ADD file:8d267ecc5c308e11f1e3cbec8a98748c6c0abd6ec8afb0830244773f58409e63 in /
镜像信息
{
"Id": "sha256:ce87b7a577a86bac442b5634449b88800b36f77b09091dfb4b10671508e13874",
"RepoTags": [
"qdtoday/qd:20250129",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/qdtoday/qd:20250129"
],
"RepoDigests": [
"qdtoday/qd@sha256:0d3605a7bb780049565e03f05e71a45c79f44ae8d3815dd2f77ce5eb4adda168",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/qdtoday/qd@sha256:282f3d2ab8204cbd8bfd0ce2cc5c33d7bf95675168df7a81fefb18974b9a2825"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-01-30T01:04:11.703236166Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PYCURL_SSL_LIBRARY=openssl",
"SSL_VERSION=3.1.5",
"CURL_VERSION=8.6.0",
"PORT=80",
"TZ=CST-8"
],
"Cmd": [
"sh",
"-c",
"python /usr/src/app/run.py"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": {
"/usr/src/app/config": {}
},
"WorkingDir": "/usr/src/app",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "a76yyyy \u003cq981331502@163.com\u003e",
"org.opencontainers.image.source": "https://github.com/qd-today/qd"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 735317084,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/8e28e74da885ee39a3ff7f7a76ec99913bdf325c425e91f837e054bd88089e15/diff:/var/lib/docker/overlay2/8bb2f2a76aa8dcaca91d1a1bd264bf9c1866de9dba9fa12e315f1ec9732d23fb/diff:/var/lib/docker/overlay2/1d652e77fcf6a18ad1093fcb69fa3d57e2b90036b8cdb66da98a9296355cf157/diff:/var/lib/docker/overlay2/eeb607d589f9a65e96684cafc3c17430c0e790349f9941de3de64d06a65c9ef7/diff:/var/lib/docker/overlay2/64bb7fb0cde8730e03961069a19a8ef24993d9fd4f15f016357e0427adbdeaee/diff:/var/lib/docker/overlay2/650d7ec5eec7fd58fc6bb92f616fdfc6c8f388c13bea19948bd6c6b5bedec140/diff",
"MergedDir": "/var/lib/docker/overlay2/73e61238b8b76f1ea3a6fbe0535cdf6fe03f16985544a694d93cb67e53468e9b/merged",
"UpperDir": "/var/lib/docker/overlay2/73e61238b8b76f1ea3a6fbe0535cdf6fe03f16985544a694d93cb67e53468e9b/diff",
"WorkDir": "/var/lib/docker/overlay2/73e61238b8b76f1ea3a6fbe0535cdf6fe03f16985544a694d93cb67e53468e9b/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:1bb475414a7e92af2a683b7864916ccb9fa4155aa029b4b7fc3b10d35ce93739",
"sha256:87a132e3aab7730580eaf6b0738eb2c04dac96deebbd5c4b43dbd82b01f19e85",
"sha256:b4da13a5b5ff4646f952e7b06b43e7e79204261652e573d5b5350a3e25bbcdde",
"sha256:dce18a265cde9d6ea8d98d0eb144b687df1fefc4357776d8eae4ba95fe70de0b",
"sha256:5e8c7f3050c449ae5c8f7fdf34c2ffcbf28fac320fc4f10a2008371e15841613",
"sha256:32062e881f83112a341a9bcec6e1803cedbc4218bfea9b8312095680e210092a",
"sha256:014435a4ca31b422f0646794f98253c04caafea51bb05b02ba51ed7e1e60ea71"
]
},
"Metadata": {
"LastTagTime": "2025-03-13T16:31:12.094382051+08:00"
}
}