镜像构建历史
# 2023-09-19 23:47:01 0.00B 设置默认要执行的命令
CMD ["python3" "-m" "jupyterhub_ssh"]
# 2023-09-19 23:47:01 0.00B 设置环境变量 PYTHONUNBUFFERED
ENV PYTHONUNBUFFERED=1
# 2023-09-19 23:47:01 84.60MB 执行命令并创建新的镜像层
RUN /bin/sh -c pip3 install --no-cache-dir . # buildkit
# 2023-09-19 23:46:40 370.00B 复制新文件或目录到容器中
COPY helm-chart/images/jupyterhub-ssh/jupyterhub_ssh_config.py ./ # buildkit
# 2023-09-19 23:46:40 9.70KB 复制新文件或目录到容器中
COPY setup.py LICENSE README.md ./ # buildkit
# 2023-09-19 23:46:40 14.42KB 复制新文件或目录到容器中
COPY jupyterhub_ssh ./jupyterhub_ssh # buildkit
# 2023-09-19 23:46:40 0.00B 设置工作目录为/srv/jupyterhub-ssh
WORKDIR /srv/jupyterhub-ssh
# 2023-09-19 23:46:40 0.00B 指定运行容器时使用的用户
USER 1000
# 2023-09-19 23:46:40 9.02KB 执行命令并创建新的镜像层
RUN /bin/sh -c adduser --disabled-password --shell "/sbin/nologin" --gecos "Default Jupyter user" --uid ${NB_UID} ${NB_USER} # buildkit
# 2023-09-19 23:46:40 0.00B 设置环境变量 NB_UID NB_USER
ENV NB_UID=1000 NB_USER=jovyan
# 2023-09-19 23:46:40 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/tini" "--"]
# 2023-09-19 23:46:40 24.32KB 执行命令并创建新的镜像层
RUN /bin/sh -c ARCH=`uname -m`; if [ "$ARCH" = x86_64 ]; then ARCH=amd64; fi; if [ "$ARCH" = aarch64 ]; then ARCH=arm64; fi; wget -qO /tini "https://github.com/krallin/tini/releases/download/v0.19.0/tini-$ARCH" && chmod +x /tini # buildkit
# 2023-09-19 23:46:39 1.36MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update -y > /dev/null && apt-get upgrade -y > /dev/null && apt-get install -y wget && rm -rf /var/lib/apt/lists/* # buildkit
# 2023-08-26 05:33:43 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2023-08-26 05:33:43 11.08MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget; wget -O get-pip.py "$PYTHON_GET_PIP_URL"; echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum -c -; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python get-pip.py --disable-pip-version-check --no-cache-dir --no-compile "pip==$PYTHON_PIP_VERSION" "setuptools==$PYTHON_SETUPTOOLS_VERSION" ; rm -f get-pip.py; pip --version # buildkit
# 2023-08-26 05:33:43 0.00B 设置环境变量 PYTHON_GET_PIP_SHA256
ENV PYTHON_GET_PIP_SHA256=45a2bb8bf2bb5eff16fdd00faef6f29731831c7c59bd9fc2bf1f3bed511ff1fe
# 2023-08-26 05:33:43 0.00B 设置环境变量 PYTHON_GET_PIP_URL
ENV PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/9af82b715db434abb94a0a6f3569f43e72157346/public/get-pip.py
# 2023-08-26 05:33:43 0.00B 设置环境变量 PYTHON_SETUPTOOLS_VERSION
ENV PYTHON_SETUPTOOLS_VERSION=57.5.0
# 2023-08-26 05:33:43 0.00B 设置环境变量 PYTHON_PIP_VERSION
ENV PYTHON_PIP_VERSION=23.0.1
# 2023-08-26 05:33:43 32.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; for src in idle3 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
# 2023-08-26 05:33:43 32.90MB 执行命令并创建新的镜像层
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-system-expat --without-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' \) \) -o \( -type f -a -name 'wininst-*.exe' \) \) -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/*; python3 --version # buildkit
# 2023-08-26 05:33:43 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.8.18
# 2023-08-26 05:33:43 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568
# 2023-08-26 05:33:43 9.21MB 执行命令并创建新的镜像层
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
# 2023-08-26 05:33:43 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2023-08-26 05:33:43 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2023-09-07 08:20:51 0.00B
/bin/sh -c #(nop) CMD ["bash"]
# 2023-09-07 08:20:51 74.76MB
/bin/sh -c #(nop) ADD file:3a8cd4de7f163d93718670f4db1de49045f5e04af3a8aa27d81c0f14647db707 in /
镜像信息
{
"Id": "sha256:cb0e439a98252be4c1f03c228bcf9869486db44e1e942dabc003b0c26c75b282",
"RepoTags": [
"quay.io/jupyterhub-ssh/ssh:0.0.1-0.dev.git.149.he5107a4",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/jupyterhub-ssh/ssh:0.0.1-0.dev.git.149.he5107a4"
],
"RepoDigests": [
"quay.io/jupyterhub-ssh/ssh@sha256:e0e798395d2dd408b0fe480d2c4216d7f2afaff9fce3d238dcf4f7a76efea8a4",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/jupyterhub-ssh/ssh@sha256:cc7bb2e0dad672bb429932f1b9b5080ac2ae3931649cce35951b14521dbcfb35"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2023-09-19T15:47:01.407030251Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "1000",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568",
"PYTHON_VERSION=3.8.18",
"PYTHON_PIP_VERSION=23.0.1",
"PYTHON_SETUPTOOLS_VERSION=57.5.0",
"PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/9af82b715db434abb94a0a6f3569f43e72157346/public/get-pip.py",
"PYTHON_GET_PIP_SHA256=45a2bb8bf2bb5eff16fdd00faef6f29731831c7c59bd9fc2bf1f3bed511ff1fe",
"NB_UID=1000",
"NB_USER=jovyan",
"PYTHONUNBUFFERED=1"
],
"Cmd": [
"python3",
"-m",
"jupyterhub_ssh"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/srv/jupyterhub-ssh",
"Entrypoint": [
"/tini",
"--"
],
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 213969030,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/96fc106984f51c798b87ed9c844d76e6be79bf64e1117415a60e094ead6ed2d0/diff:/var/lib/docker/overlay2/205b40d351241b083278089b2a43b8cb26ae4bc6b040a90897edb5a3e8e6110f/diff:/var/lib/docker/overlay2/e629c75e19d1e4617f282a416a32f7a90fd619dfd220a738ecddcd36682bd7e2/diff:/var/lib/docker/overlay2/a85d62cbe347d8b6eab497656956349df2943922332bdcb96155a938a8e738cc/diff:/var/lib/docker/overlay2/48c9cf94bb3a1844d17cfcb9e37babccdd0be5d3488c1f70b7f9d0900abb94f1/diff:/var/lib/docker/overlay2/43e78d89fd844e779b3caf4e799a49dfa98536b7bdf86eb0614b8abce27ccb25/diff:/var/lib/docker/overlay2/50d1d57a2aa99d6c85381286b0106b9a93c3c6faa070b382529b55022e2171e6/diff:/var/lib/docker/overlay2/e4ef25cc3ae581d5a69313694c47161bfd4258ddc1327d0b1d49e0f23f8bdbfe/diff:/var/lib/docker/overlay2/64583f472ee9efb1985a6327bf3b9035de09480a305572f7842c31c67abab2f5/diff:/var/lib/docker/overlay2/44d300dbbfdd355567eaa9f0ac9069b58e629b62b2be7929024d776d314ee7be/diff:/var/lib/docker/overlay2/be35bca13014e6f3db709da6d9a56c0b4fbb2aa6def0874afe8f046bb4521eed/diff:/var/lib/docker/overlay2/ac7aaad6ff93776cab239dde86251a5a99bb81ce08db97a9a5a397d25fefd7ed/diff",
"MergedDir": "/var/lib/docker/overlay2/2904833db389d705bc45f7402156c6cd27b01ab5d4fe6b58f536fb716046f993/merged",
"UpperDir": "/var/lib/docker/overlay2/2904833db389d705bc45f7402156c6cd27b01ab5d4fe6b58f536fb716046f993/diff",
"WorkDir": "/var/lib/docker/overlay2/2904833db389d705bc45f7402156c6cd27b01ab5d4fe6b58f536fb716046f993/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:a2d7501dfb3541f3d736125cdfd748618194f60cbb5c63f4de67a92530899628",
"sha256:b9044eea833a0cf80a01e107632d771f92fe9a559a2e7c642c79b4d870bd5c44",
"sha256:aadeead4f3a7281ae4f645e497bff4a0f83468bf925b35488204634930d13607",
"sha256:e549c1d20a2f2e3800b7deea6525a1afd88945480488bb594189d5a189f70470",
"sha256:56cd9ff7a419acee9fa89bd88f1960a0302cac1fba8eff0cb1e95d7d71509db4",
"sha256:66767384efff4ae2b7ecfe29a35ce1d739c5eca4958e182d2905229c87aea9cd",
"sha256:3c57a37da569e7a2b3011f6c2e7d4f66bdce0d8c1c1b671f948a00c8b7c37010",
"sha256:6a554fdd014e83a1fb4595c27d806443a22f19cb6d5bcdd33fcb57b2d9a1920c",
"sha256:1b443350512f250523f1f8677195e2f6b4f8a08294f40ad1aad8cfb3feb3cb69",
"sha256:27bb1d3d23dc7782451d498e6f94882d395a285924b76f4c912aa49e21adb1f0",
"sha256:1f615d6fa836ce84c98f9750f85c394823e99cde747ed99b1c8d101fe9fa0cd2",
"sha256:253ba61df8614880a7666c2915907b4554bbfa58c19e72bfe8a7b4cb490573f4",
"sha256:4b1fbdcc9917315f17022522e29ff9b5e0ae2f0c438c871082df96ab2fae9c41"
]
},
"Metadata": {
"LastTagTime": "2024-08-16T10:58:58.963567507+08:00"
}
}