镜像构建历史
# 2025-09-26 18:49:16 0.00B 声明容器运行时监听的端口
EXPOSE &{[{{44 0} {44 0}}] 0xc0004f5180}
# 2025-09-26 18:49:16 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
# 2025-09-26 18:49:16 1.15KB 复制新文件或目录到容器中
COPY deploy/docker/entrypoint.sh /usr/bin/entrypoint.sh # buildkit
# 2025-09-26 18:49:16 31.79MB 复制新文件或目录到容器中
COPY deploy/docker/libonnx/onnxruntime* /usr/local/onnx/lib/ # buildkit
# 2025-09-26 18:49:16 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p /usr/local/onnx/lib # buildkit
# 2025-09-26 18:49:15 346.03MB 复制新文件或目录到容器中
COPY /go/neuronex/_build/neuronex-* . # buildkit
# 2025-09-26 18:44:22 0.00B 设置工作目录为/opt/neuronex
WORKDIR /opt/neuronex
# 2025-09-26 18:44:22 0.00B 设置环境变量 GOTRACEBACK
ENV GOTRACEBACK=crash
# 2025-09-26 18:44:22 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2025-09-26 18:44:22 0.00B 设置环境变量 LC_ALL
ENV LC_ALL=C.UTF-8
# 2025-09-26 18:44:22 728.57MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && apt-get install --no-install-recommends -y curl procps net-tools ffmpeg ninja-build libnng-dev libffi-dev git cmake build-essential libssl-dev libmbedtls-dev libtool pkg-config && pip install setuptools && pip install pynng && pip install ekuiper --no-build-isolation && apt-get purge -y --auto-remove build-essential git cmake && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # buildkit
# 2025-02-05 07:51:20 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2025-02-05 07:51:20 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-02-05 07:51:20 36.87MB 执行命令并创建新的镜像层
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"; 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; 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
# 2025-02-05 07:51:20 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56
# 2025-02-05 07:51:20 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.13.2
# 2025-02-05 07:51:20 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
# 2025-02-05 07:51:20 9.23MB 执行命令并创建新的镜像层
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
# 2025-02-05 07:51:20 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-02-05 07:51:20 74.83MB
# debian.sh --arch 'amd64' out/ 'bookworm' '@1743984000'
镜像信息
{
"Id": "sha256:c1ca8a18fc363242503a5258d523cb0981a020976bc6f1d6b9e58e098f13f479",
"RepoTags": [
"emqx/neuronex:3.6.2",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/emqx/neuronex:3.6.2"
],
"RepoDigests": [
"emqx/neuronex@sha256:4504583bc492ff0b9453f60a5c2099d9e8c1114dcbe4dba3f70aa90d2c48fe84",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/emqx/neuronex@sha256:b58291c0216a1591097d180e8f544bb2397b31cc9cfb815ee9b784078292b067"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-09-26T10:49:16.232990763Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8085/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
"PYTHON_VERSION=3.13.2",
"PYTHON_SHA256=d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56",
"LC_ALL=C.UTF-8",
"LANG=C.UTF-8",
"GOTRACEBACK=crash"
],
"Cmd": null,
"Image": "",
"Volumes": null,
"WorkingDir": "/opt/neuronex",
"Entrypoint": [
"/usr/bin/entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.created": "2025-09-26T10:42:02.243Z",
"org.opencontainers.image.description": "",
"org.opencontainers.image.licenses": "",
"org.opencontainers.image.revision": "c7cc428d75ca7492fee476d13dfef2ec9e135c9f",
"org.opencontainers.image.source": "https://github.com/emqx/neuronex-go",
"org.opencontainers.image.title": "neuronex-go",
"org.opencontainers.image.url": "https://github.com/emqx/neuronex-go",
"org.opencontainers.image.version": "3.6.2"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 1227337089,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/cb1ce8abd1ec72568d2fb3db6b414b55812e38b1d7b277ef9eb64b16221a7cfa/diff:/var/lib/docker/overlay2/98e68a9531b690ce5ea3079dbd561b6ae7b857a4d2206ebfade638568fcb071b/diff:/var/lib/docker/overlay2/d11b6e20eb1fc3b30f04decf7dd13a0f9475e19d569ed61cdfb7e97eb02f8a51/diff:/var/lib/docker/overlay2/2fcc19607971a2aa3f94fd71b46880634aeba400d45f2de6e15d2426276be3fb/diff:/var/lib/docker/overlay2/fbea38b0f45d5507d246f8249ad691e5a86a296dacc91ae9cadb5fb96a5a5a86/diff:/var/lib/docker/overlay2/321b7ddc5db6dee3584aa927ac8095cc682a823a136dab9a72210ee34f0d3110/diff:/var/lib/docker/overlay2/2e726210a82381629e371e848245cb4d708178b7e52e6af2055bf51917beeadd/diff:/var/lib/docker/overlay2/49ac296e683df776588d0ad0386e6ad549d31bb05ac5997e97cd8dbf78e34aea/diff:/var/lib/docker/overlay2/e9b709f0eb4a1a7545611ae0df2cdc60352a6126c37b20c8d60b3c3b6fdf4ed2/diff",
"MergedDir": "/var/lib/docker/overlay2/b4eeb528389df2ee23e88fdffe105e1747eebfaaaedb298bca74cc5c06edcd02/merged",
"UpperDir": "/var/lib/docker/overlay2/b4eeb528389df2ee23e88fdffe105e1747eebfaaaedb298bca74cc5c06edcd02/diff",
"WorkDir": "/var/lib/docker/overlay2/b4eeb528389df2ee23e88fdffe105e1747eebfaaaedb298bca74cc5c06edcd02/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:ea680fbff095473bb8a6c867938d6d851e11ef0c177fce983ccc83440172bd72",
"sha256:be8a5ff96cfce4a6f2cb9e31ffd352a8c60fd09d08c8b66f8b91d0d961f5474b",
"sha256:89054d0ffba00ce5332937311c951b3c99754df3e9c1be5855a1a7aaae19d37e",
"sha256:58323669a38df1503c2c82d06b7562fbc4e1cbeca510aacfcf1ad5834939b7aa",
"sha256:6c81917fb3d8c3f6cb60f6a117d05e96d292ffad4b2778056604ad0390f62ef0",
"sha256:c7680bbc27c9f20f62075f2bfb101d139e7ccbefd6516773326ee863af97bf32",
"sha256:31991ea98b3e889e3aaea491ed75174a0b778c4e316dbccd9d3060113411e94b",
"sha256:3c4c1a08b9f96f544884ba3d7640d59866026ef8aa03b9f1bb021fea5e4bbc19",
"sha256:bc16af147ddd4a5e7c5f43eb1aa07cb66fc1fdc000eeef4572bd7e6b96b92f83",
"sha256:c6d5526d1bc43de9bb1f4f4ea8521234af430ab11b22129485ca648e2fc6a05f"
]
},
"Metadata": {
"LastTagTime": "2025-10-16T14:05:44.948982833+08:00"
}
}