镜像构建历史
# 2026-07-27 10:46:46 0.00B 设置默认要执行的命令
CMD ["start" "all"]
# 2026-07-27 10:46:46 0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGQUIT
# 2026-07-27 10:46:46 0.00B 声明容器运行时监听的端口
EXPOSE [8080/tcp]
# 2026-07-27 10:46:46 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["./entrypoint.sh"]
# 2026-07-27 10:46:46 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/opt/jumpserver/data]
# 2026-07-27 10:46:46 0.00B 设置工作目录为/opt/jumpserver
WORKDIR /opt/jumpserver
# 2026-07-27 10:46:46 374.00B 复制新文件或目录到容器中
COPY /opt/jumpserver/apps/libs/ansible/ansible.cfg /etc/ansible/ # buildkit
# 2026-07-27 10:46:46 72.16MB 复制新文件或目录到容器中
COPY /usr/local/bin /usr/local/bin # buildkit
# 2026-07-27 10:46:45 565.83MB 复制新文件或目录到容器中
COPY /opt /opt # buildkit
# 2026-07-23 15:29:07 159.07MB 执行命令并创建新的镜像层
RUN |3 DEPENDENCIES= libldap2-dev libx11-dev TOOLS= cron ca-certificates default-libmysqlclient-dev libmariadb3 postgresql-client openssh-client sshpass bubblewrap docker-cli APT_MIRROR=http://deb.debian.org /bin/sh -c set -ex && sed -i "s@http://.*.debian.org@${APT_MIRROR}@g" /etc/apt/sources.list.d/debian.sources && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && apt-get update > /dev/null && apt-get -y install --no-install-recommends ${DEPENDENCIES} && apt-get -y install --no-install-recommends ${TOOLS} && mkdir -p /root/.ssh/ && echo "Host *\n\tStrictHostKeyChecking no\n\tUserKnownHostsFile /dev/null\n\tCiphers +aes128-cbc\n\tKexAlgorithms +diffie-hellman-group1-sha1\n\tHostKeyAlgorithms +ssh-rsa" > /root/.ssh/config && echo "no" | dpkg-reconfigure dash && apt-get clean all && rm -rf /var/lib/apt/lists/* && echo "0 3 * * * root find /tmp -type f -mtime +1 -size +1M -exec rm -f {} \; && date > /tmp/clean.log" > /etc/cron.d/cleanup_tmp && chmod 0644 /etc/cron.d/cleanup_tmp # buildkit
# 2026-07-23 15:29:07 0.00B 定义构建参数
ARG APT_MIRROR=http://deb.debian.org
# 2026-07-23 15:29:07 0.00B 定义构建参数
ARG TOOLS= cron ca-certificates default-libmysqlclient-dev libmariadb3 postgresql-client openssh-client sshpass bubblewrap docker-cli
# 2026-07-23 15:29:07 0.00B 定义构建参数
ARG DEPENDENCIES= libldap2-dev libx11-dev
# 2026-07-23 15:29:07 0.00B 设置环境变量 LANG PATH
ENV LANG=en_US.UTF-8 PATH=/opt/py3/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-07-14 10:07:16 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2026-07-14 10:07:16 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
# 2026-07-14 10:07:16 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 libzstd-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 -; 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"; 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 -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 --version # buildkit
# 2026-07-14 09:59:55 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63
# 2026-07-14 09:59:55 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.14.6
# 2026-07-14 09:59:55 3.81MB 执行命令并创建新的镜像层
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
# 2026-07-14 09:59:55 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-07-13 08:00:00 78.62MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1783900800'
镜像信息
{
"Id": "sha256:31ecc638e978ab35cd37097e7cbc6693f7b4042884928cbef66c13ec2e8d9ec7",
"RepoTags": [
"jumpserver/core:v4.10.18-ce",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jumpserver/core:v4.10.18-ce"
],
"RepoDigests": [
"jumpserver/core@sha256:13ad1f867689f0f6ca96048a953f877e8592bc211abaa785f142051814ff5337",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jumpserver/core@sha256:720cdd29912d675e920cc7283a648fd9a0334685885f71258e3b8ec55d94e9e9"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-07-27T02:46:46.790297236Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/opt/py3/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PYTHON_VERSION=3.14.6",
"PYTHON_SHA256=143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63",
"LANG=en_US.UTF-8"
],
"Cmd": [
"start",
"all"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": {
"/opt/jumpserver/data": {}
},
"WorkingDir": "/opt/jumpserver",
"Entrypoint": [
"./entrypoint.sh"
],
"OnBuild": null,
"Labels": null,
"StopSignal": "SIGQUIT"
},
"Architecture": "amd64",
"Os": "linux",
"Size": 916363301,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/e79d32e1d13921640a9b425b76bbe88127302e3d9ab8fcc2f4db14aff2b88324/diff:/var/lib/docker/overlay2/abca913b2aa3c49bd3bb4ccaf27ca14379b2320fd7362f85d9a6c3d50010caaf/diff:/var/lib/docker/overlay2/379e124fa91618a5867c6122a9c45020e11aa3ba8ba5084fda8d433c161af49f/diff:/var/lib/docker/overlay2/4a806976d948f999ffcfdc8dc5f708f1efd72d2ca6bb5688ee92aed6db2a24b5/diff:/var/lib/docker/overlay2/f0728786f869ed4e622e0c59ab917a0ba228df1fb96a65bcb5c800a61e7c7b76/diff:/var/lib/docker/overlay2/0fdd18fdb6b09e4fd7d1a4ed0cded22b44672194d9df46199eed19ad5087d2ba/diff:/var/lib/docker/overlay2/ba099b140d76137b40225522b8dd81dd6bf9a785adee282fb85f995ad6e4bb30/diff:/var/lib/docker/overlay2/f24ade665d94e6f8ff29f06c32243f0eb4e1ac8da4feddb1b4ad6020791e6a90/diff",
"MergedDir": "/var/lib/docker/overlay2/15daa47a4f488035504779f6bd1e3fd0c92b71eb4eff34b71b15fa5f99552245/merged",
"UpperDir": "/var/lib/docker/overlay2/15daa47a4f488035504779f6bd1e3fd0c92b71eb4eff34b71b15fa5f99552245/diff",
"WorkDir": "/var/lib/docker/overlay2/15daa47a4f488035504779f6bd1e3fd0c92b71eb4eff34b71b15fa5f99552245/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:f2ec4de84f559f5c7be4233b589cdbdbb5507807e05621b77320edd55a1f2a0f",
"sha256:04bed2b2c283e9eb813de27850102866d8bc530ae9c84707bbd56d40c92b0768",
"sha256:f3e1c7200b910fc1580f51cf02a37e2b45054923409927950be67a8d35dc8683",
"sha256:913a5e9a767299bfa47f77f56be67fcca2094de02ce4ef89fe643578df741d12",
"sha256:a7c0eba3e29a6b56c06198140cba9952f3487f4bc07af99c3fa262ddf32e2a8d",
"sha256:0245751aef881e335b76299fb31da09346d1cc0f87437987d8c8c857e69c494a",
"sha256:ab92235ac6c19efdb64affc4691da0961ae30e20708302ca217692e0a34e9aae",
"sha256:99dd5c56e3aabb4767049642b84c1737e448dc396e5516e62fb8863074367cd8",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
]
},
"Metadata": {
"LastTagTime": "2026-08-31T15:36:48.626095281+08:00"
}
}