镜像构建历史
# 2025-06-10 19:08:01 4.31KB
mount / from exec /bin/bash -eo pipefail -c # Export CANN driver lib
EXPORT_DRIVER_LIB="export LD_LIBRARY_PATH=${CANN_HOME}/driver/lib64/common:${CANN_HOME}/driver/lib64/driver:\${LD_LIBRARY_PATH}"
echo "${EXPORT_DRIVER_LIB}" >> /etc/profile
echo "${EXPORT_DRIVER_LIB}" >> ~/.bashrc
# Source CANN Toolkit environment
SOURCE_TOOLKIT_ENV="source ${CANN_HOME}/ascend-toolkit/set_env.sh"
echo "${SOURCE_TOOLKIT_ENV}" >> /etc/profile
echo "${SOURCE_TOOLKIT_ENV}" >> ~/.bashrc
# Source CANN NNAL environment
SOURCE_NNAL_ENV="source ${CANN_HOME}/nnal/atb/set_env.sh"
echo "${SOURCE_NNAL_ENV}" >> /etc/profile
echo "${SOURCE_NNAL_ENV}" >> ~/.bashrc
# Source ATB model environment
SOURCE_ATB_MODEL_ENV="source ${CANN_HOME}/atb-models/set_env.sh"
echo "${SOURCE_ATB_MODEL_ENV}" >> /etc/profile
echo "${SOURCE_ATB_MODEL_ENV}" >> ~/.bashrc
# Export Driver tools
EXPORT_DRIVER_TOOLS="export PATH=${CANN_HOME}/driver/tools:\${PATH}"
echo "${EXPORT_DRIVER_TOOLS}" >> /etc/profile
echo "${EXPORT_DRIVER_TOOLS}" >> ~/.bashrc
# NB(thxCode): For specific MindIE version supporting,
# we need to process environment setting up during GPUStack deployment.
# NB(thxCode): Any tuning environment variables should NOT be set here.
# 2025-06-10 19:08:00 2.18GB
mount / from exec /bin/bash -eo pipefail -c # GPUStack
# Build GPUStack
export PATH="${HOME}/.local/bin:${PATH}"
cd /workspace/gpustack \
&& git config --global --add safe.directory /workspace/gpustack \
&& make build
# Pre process
# - Create virtual environment to place gpustack
python -m venv --system-site-packages ${PIPX_LOCAL_VENVS}/gpustack
# - Prepare environment
source ${PIPX_LOCAL_VENVS}/gpustack/bin/activate
# Install GPUStack,
# vox-box relies on PyTorch 2.7, which is not compatible with MindIE.
WHEEL_PACKAGE="$(ls /workspace/gpustack/dist/*.whl)"
pip install --disable-pip-version-check --no-cache-dir --root-user-action ignore ${WHEEL_PACKAGE} \
&& ln -vsf ${PIPX_LOCAL_VENVS}/gpustack/bin/gpustack /usr/local/bin/gpustack
# Download tools
gpustack download-tools --device npu
# Active MindIE
# MindIE is combined with a lot of components, and it is conflict with vLLM,
# so we need to active MindIE manually at GPUStack.
# Active vLLM
ln -vsf ${PIPX_LOCAL_VENVS}/vllm/bin/vllm ${PIPX_LOCAL_VENVS}/gpustack/bin/vllm
# - Redirect RAY.
rm -rf ${PIPX_LOCAL_VENVS}/gpustack/bin/ray \
&& ln -vsf ${PIPX_LOCAL_VENVS}/vllm/bin/ray ${PIPX_LOCAL_VENVS}/gpustack/bin/ray
# Set up environment
mkdir -p /var/lib/gpustack \
&& chmod -R 0755 /var/lib/gpustack
# Post process
deactivate
# Review
pipx runpip gpustack freeze
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt \
&& rm -rf /workspace/gpustack/dist \
&& pip cache purge
# 2025-06-09 21:40:38 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["tini" "--" "/usr/bin/bash" "-c" "source /etc/profile && exec gpustack start \"$@\"" "--"]
# 2025-06-09 21:40:38 3.05GB 执行命令并创建新的镜像层
RUN |7 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 CANN_VERSION=8.1.rc1.beta1 CANN_CHIP=910b MINDIE_VERSION=2.0.rc1 /bin/bash -eo pipefail -c # Export CANN driver lib
EXPORT_DRIVER_LIB="export LD_LIBRARY_PATH=${CANN_HOME}/driver/lib64/common:${CANN_HOME}/driver/lib64/driver:\${LD_LIBRARY_PATH}"
echo "${EXPORT_DRIVER_LIB}" >> /etc/profile
echo "${EXPORT_DRIVER_LIB}" >> ~/.bashrc
# Source CANN Toolkit environment
SOURCE_TOOLKIT_ENV="source ${CANN_HOME}/ascend-toolkit/set_env.sh"
echo "${SOURCE_TOOLKIT_ENV}" >> /etc/profile
echo "${SOURCE_TOOLKIT_ENV}" >> ~/.bashrc
# Source CANN NNAL environment
SOURCE_NNAL_ENV="source ${CANN_HOME}/nnal/atb/set_env.sh"
echo "${SOURCE_NNAL_ENV}" >> /etc/profile
echo "${SOURCE_NNAL_ENV}" >> ~/.bashrc
# Source ATB model environment
SOURCE_ATB_MODEL_ENV="source ${CANN_HOME}/atb-models/set_env.sh"
echo "${SOURCE_ATB_MODEL_ENV}" >> /etc/profile
echo "${SOURCE_ATB_MODEL_ENV}" >> ~/.bashrc
# Export Driver tools
EXPORT_DRIVER_TOOLS="export PATH=${CANN_HOME}/driver/tools:\${PATH}"
echo "${EXPORT_DRIVER_TOOLS}" >> /etc/profile
echo "${EXPORT_DRIVER_TOOLS}" >> ~/.bashrc
# NB(thxCode): For specific MindIE version supporting,
# we need to process environment setting up during GPUStack deployment.
# NB(thxCode): Any tuning environment variables should NOT be set here.
# buildkit
# 2025-06-09 21:38:23 1.85GB 执行命令并创建新的镜像层
RUN |7 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 CANN_VERSION=8.1.rc1.beta1 CANN_CHIP=910b MINDIE_VERSION=2.0.rc1 /bin/bash -eo pipefail -c # GPUStack
# Build GPUStack
export PATH="${HOME}/.local/bin:${PATH}"
cd /workspace/gpustack \
&& git config --global --add safe.directory /workspace/gpustack \
&& make build
# Pre process
# - Create virtual environment to place gpustack
python -m venv --system-site-packages ${PIPX_LOCAL_VENVS}/gpustack
# - Prepare environment
source ${PIPX_LOCAL_VENVS}/gpustack/bin/activate
# Install GPUStack,
# vox-box relies on PyTorch 2.7, which is not compatible with MindIE.
WHEEL_PACKAGE="$(ls /workspace/gpustack/dist/*.whl)"
pip install --disable-pip-version-check --no-cache-dir --root-user-action ignore ${WHEEL_PACKAGE} \
&& ln -vsf ${PIPX_LOCAL_VENVS}/gpustack/bin/gpustack /usr/local/bin/gpustack
# Download tools
gpustack download-tools --device npu
# Active MindIE
# MindIE is combined with a lot of components, and it is conflict with vLLM,
# so we need to active MindIE manually at GPUStack.
# Active vLLM
ln -vsf ${PIPX_LOCAL_VENVS}/vllm/bin/vllm ${PIPX_LOCAL_VENVS}/gpustack/bin/vllm
# - Redirect RAY.
rm -rf ${PIPX_LOCAL_VENVS}/gpustack/bin/ray \
&& ln -vsf ${PIPX_LOCAL_VENVS}/vllm/bin/ray ${PIPX_LOCAL_VENVS}/gpustack/bin/ray
# Set up environment
mkdir -p /var/lib/gpustack \
&& chmod -R 0755 /var/lib/gpustack
# Post process
deactivate
# Review
pipx runpip gpustack freeze
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt \
&& rm -rf /workspace/gpustack/dist \
&& pip cache purge
# buildkit
# 2025-06-09 21:35:38 17.85MB 复制新文件或目录到容器中
COPY /root/.local/share/pipx/venvs/vllm /root/.local/share/pipx/venvs/vllm # buildkit
# 2025-06-09 21:35:38 0.00B 设置环境变量 VLLM_VERSION VLLM_ASCEND_VERSION MINDIE_VERSION
ENV VLLM_VERSION=0.7.3 VLLM_ASCEND_VERSION=0.7.3.post1 MINDIE_VERSION=2.0.rc1
# 2025-06-09 21:35:38 0.00B 定义构建参数
ARG MINDIE_VERSION=2.0.rc1
# 2025-06-09 21:35:38 0.00B 定义构建参数
ARG VLLM_ASCEND_VERSION=0.7.3.post1
# 2025-06-09 21:35:38 0.00B 定义构建参数
ARG VLLM_VERSION=0.7.3
# 2025-06-09 21:35:38 983.08MB 执行命令并创建新的镜像层
RUN |6 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 CANN_VERSION=8.1.rc1.beta1 CANN_CHIP=910b /bin/bash -eo pipefail -c # CANN NNAL
OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
ARCH="$(uname -m)"
DOWNLOAD_VERSION="$(echo ${CANN_VERSION%\.beta1} | tr '[:lower:]' '[:upper:]')"
URL_PREFIX="https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%20${DOWNLOAD_VERSION}"
URL_SUFFIX="response-content-type=application/octet-stream"
# Prepare environment
source ${CANN_HOME}/ascend-toolkit/set_env.sh
# Install NNAL
NNAL_FILE="Ascend-cann-nnal_${DOWNLOAD_VERSION}_${OS}-${ARCH}.run"
NNAL_PATH="/tmp/${NNAL_FILE}"
NNAL_URL="${URL_PREFIX}/${NNAL_FILE}?${URL_SUFFIX}"
curl -H 'Referer: https://www.hiascend.com/' --retry 3 --retry-connrefused -fL -o "${NNAL_PATH}" "${NNAL_URL}"
chmod a+x "${NNAL_PATH}"
printf "Y\n" | "${NNAL_PATH}" --install --install-path="${CANN_HOME}"
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt \
&& rm -rf /var/log/ascend_seclog \
&& rm -rf /var/log/cann_atb_log \
&& pip cache purge
# buildkit
# 2025-06-09 21:34:42 3.84GB 执行命令并创建新的镜像层
RUN |6 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 CANN_VERSION=8.1.rc1.beta1 CANN_CHIP=910b /bin/bash -eo pipefail -c # CANN Kernels
OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
ARCH="$(uname -m)"
DOWNLOAD_VERSION="$(echo ${CANN_VERSION%\.beta1} | tr '[:lower:]' '[:upper:]')"
URL_PREFIX="https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%20${DOWNLOAD_VERSION}"
URL_SUFFIX="response-content-type=application/octet-stream"
# Prepare environment
source ${CANN_HOME}/ascend-toolkit/set_env.sh
# Install kernels
KERNELS_FILE="Ascend-cann-kernels-${CANN_CHIP}_${DOWNLOAD_VERSION}_${OS}-${ARCH}.run"
if ! curl -H 'Referer: https://www.hiascend.com/' --retry 3 --retry-connrefused -fsSIL "${URL_PREFIX}/${KERNELS_FILE}?${URL_SUFFIX}" >/dev/null 2>&1; then
# Fallback to generic kernels
KERNELS_FILE="Ascend-cann-kernels-${CANN_CHIP}_${DOWNLOAD_VERSION}_${OS}.run"
fi
KERNELS_PATH="/tmp/${KERNELS_FILE}"
KERNELS_URL="${URL_PREFIX}/${KERNELS_FILE}?${URL_SUFFIX}"
curl -H 'Referer: https://www.hiascend.com/' --retry 3 --retry-connrefused -fL -o "${KERNELS_PATH}" "${KERNELS_URL}"
chmod a+x "${KERNELS_PATH}"
printf "Y\n" |"${KERNELS_PATH}" --install --install-for-all --install-path="${CANN_HOME}"
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt \
&& rm -rf /var/log/ascend \
&& rm -rf /var/log/ascend_seclog \
&& pip cache purge
# buildkit
# 2025-06-09 21:26:54 7.32GB 执行命令并创建新的镜像层
RUN |6 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 CANN_VERSION=8.1.rc1.beta1 CANN_CHIP=910b /bin/bash -eo pipefail -c # CANN Toolkit
OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
ARCH="$(uname -m)"
DOWNLOAD_VERSION="$(echo ${CANN_VERSION%\.beta1} | tr '[:lower:]' '[:upper:]')"
URL_PREFIX="https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%20${DOWNLOAD_VERSION}"
URL_SUFFIX="response-content-type=application/octet-stream"
# Install dependencies
cat <<EOT >/tmp/requirements.txt
attrs==24.3.0
numpy==1.26.4
decorator==5.2.1
sympy==1.14.0
cffi==1.17.1
PyYAML==6.0.2
pathlib2==2.3.7.post1
psutil==7.0.0
protobuf==6.31.0
scipy==1.15.3
requests==2.32.3
absl-py==2.2.2
EOT
pip install --disable-pip-version-check --no-cache-dir --root-user-action ignore -r /tmp/requirements.txt
# Install toolkit
TOOLKIT_FILE="Ascend-cann-toolkit_${DOWNLOAD_VERSION}_${OS}-${ARCH}.run"
TOOLKIT_PATH="/tmp/${TOOLKIT_FILE}"
TOOLKIT_URL="${URL_PREFIX}/${TOOLKIT_FILE}?${URL_SUFFIX}"
curl -H 'Referer: https://www.hiascend.com/' --retry 3 --retry-connrefused -fL -o "${TOOLKIT_PATH}" "${TOOLKIT_URL}"
chmod a+x "${TOOLKIT_PATH}"
printf "Y\n" | "${TOOLKIT_PATH}" --install --install-for-all --install-path="${CANN_HOME}"
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt \
&& rm -rf /var/log/ascend \
&& rm -rf /var/log/ascend_seclog \
&& pip cache purge
# buildkit
# 2025-06-09 21:09:43 0.00B 设置环境变量 CANN_VERSION CANN_CHIP CANN_HOME
ENV CANN_VERSION=8.1.rc1.beta1 CANN_CHIP=910b CANN_HOME=/usr/local/Ascend
# 2025-06-09 21:09:43 0.00B 定义构建参数
ARG CANN_CHIP=910b
# 2025-06-09 21:09:43 0.00B 定义构建参数
ARG CANN_VERSION=8.1.rc1.beta1
# 2025-06-09 21:09:43 0.00B 设置环境变量 PIPX_LOCAL_VENVS
ENV PIPX_LOCAL_VENVS=/root/.local/share/pipx/venvs
# 2025-06-09 21:09:43 350.41MB 执行命令并创建新的镜像层
RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 /bin/bash -eo pipefail -c # Python
# Download
PYTHON_INSTALL_DIR="/tmp/Python-${PYTHON_VERSION}"
mkdir -p ${PYTHON_INSTALL_DIR}
PYTHON_LATEST_VERSION=$(curl -s https://repo.huaweicloud.com/python/ | grep -oE "${PYTHON_VERSION}\.[0-9]+" | sort -V | tail -n 1)
curl -H 'Referer: https://repo.huaweicloud.com/' --retry 3 --retry-connrefused -fL "https://repo.huaweicloud.com/python/${PYTHON_LATEST_VERSION}/Python-${PYTHON_LATEST_VERSION}.tgz" | tar -zx -C ${PYTHON_INSTALL_DIR} --strip-components 1
# Build
pushd ${PYTHON_INSTALL_DIR}
./configure \
--prefix=/usr \
--enable-optimizations \
--enable-shared \
--enable-ipv6 \
--enable-loadable-sqlite-extensions \
--with-lto=full \
--with-ensurepip=install \
--with-computed-gotos
make -j$(nproc) && make altinstall
popd
# Link
ln -vsf /usr/bin/python${PYTHON_VERSION} /usr/bin/python3
ln -vsf /usr/bin/python${PYTHON_VERSION} /usr/bin/python
ln -vsf /usr/bin/pip${PYTHON_VERSION} /usr/bin/pip3
ln -vsf /usr/bin/pip${PYTHON_VERSION} /usr/bin/pip
ln -vsf /usr/bin/2to3-${PYTHON_VERSION} /usr/bin/2to3
ln -vsf /usr/bin/pydoc${PYTHON_VERSION} /usr/bin/pydoc3
ln -vsf /usr/bin/idle${PYTHON_VERSION} /usr/bin/idle3
# Install packages
cat <<EOT >/tmp/requirements.txt
setuptools==80.7.1
pipx==1.7.1
EOT
pip install --disable-pip-version-check --no-cache-dir --root-user-action ignore -r /tmp/requirements.txt
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt \
&& pip cache purge
# buildkit
# 2025-06-09 20:56:24 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.11
# 2025-06-09 20:56:24 0.00B 定义构建参数
ARG PYTHON_VERSION=3.11
# 2025-06-09 20:56:24 541.93MB 执行命令并创建新的镜像层
RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # Dependencies
# Install
apt-get install -y --no-install-recommends \
zlib1g zlib1g-dev libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev \
openssl libssl-dev libsqlite3-dev lcov libomp-dev \
libblas-dev liblapack-dev libopenblas-dev libblas3 liblapack3 libhdf5-dev \
libxml2 libxslt1-dev libgl1-mesa-glx libgmpxx4ldbl \
libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \
liblzma-dev lzma lzma-dev tk-dev uuid-dev libmpdec-dev \
libnuma-dev
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt
# buildkit
# 2025-06-09 20:55:44 147.70MB 执行命令并创建新的镜像层
RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # CMake/Make/SCCache
# Install
apt-get install -y --no-install-recommends \
pkg-config make
curl --retry 3 --retry-connrefused -fL "https://github.com/Kitware/CMake/releases/download/v3.22.1/cmake-3.22.1-linux-$(uname -m).tar.gz" | tar -zx -C /usr --strip-components 1
curl --retry 3 --retry-connrefused -fL "https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-$(uname -m)-unknown-linux-musl.tar.gz" | tar -zx -C /usr/bin --strip-components 1
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt
# buildkit
# 2025-06-09 20:53:07 0.00B 执行命令并创建新的镜像层
RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # GCC
# NB(thxCode): Upgrade GCC if the Ubuntu version is lower than 21.04.
source /etc/os-release
if (( $(echo "${VERSION_ID} < 21.04" | bc -l) )); then
# Install
apt-get install -y --no-install-recommends \
gcc-11 g++-11 gfortran-11 gfortran
# Update alternatives
if [ -f /etc/alternatives/gcov-dump ]; then update-alternatives --remove-all gcov-dump; fi; update-alternatives --install /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-11 10
if [ -f /etc/alternatives/lto-dump ]; then update-alternatives --remove-all lto-dump; fi; update-alternatives --install /usr/bin/lto-dump lto-dump /usr/bin/lto-dump-11 10
if [ -f /etc/alternatives/gcov ]; then update-alternatives --remove-all gcov; fi; update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-11 10
if [ -f /etc/alternatives/gcc ]; then update-alternatives --remove-all gcc; fi; update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10
if [ -f /etc/alternatives/gcc-nm ]; then update-alternatives --remove-all gcc-nm; fi; update-alternatives --install /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-11 10
if [ -f /etc/alternatives/cpp ]; then update-alternatives --remove-all cpp; fi; update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-11 10
if [ -f /etc/alternatives/g++ ]; then update-alternatives --remove-all g++; fi; update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 10
if [ -f /etc/alternatives/gcc-ar ]; then update-alternatives --remove-all gcc-ar; fi; update-alternatives --install /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-11 10
if [ -f /etc/alternatives/gcov-tool ]; then update-alternatives --remove-all gcov-tool; fi; update-alternatives --install /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-11 10
if [ -f /etc/alternatives/gcc-ranlib ]; then update-alternatives --remove-all gcc-ranlib; fi; update-alternatives --install /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-11 10
if [ -f /etc/alternatives/gfortran ]; then update-alternatives --remove-all gfortran; fi; update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-11 10
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt
fi
# buildkit
# 2025-06-09 20:55:30 0.00B 设置环境变量 LANG LANGUAGE LC_ALL
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
# 2025-06-09 20:55:30 561.23MB 执行命令并创建新的镜像层
RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # Tools
# Refresh
apt-get update -y && apt-get install -y --no-install-recommends \
software-properties-common apt-transport-https \
ca-certificates gnupg2 lsb-release gnupg-agent \
&& apt-get update -y \
&& add-apt-repository -y ppa:ubuntu-toolchain-r/test \
&& apt-get update -y
# Install
apt-get install -y --no-install-recommends \
ca-certificates build-essential binutils bash openssl \
curl wget aria2 \
git git-lfs \
unzip xz-utils \
tzdata locales \
iproute2 iputils-ping ifstat net-tools dnsutils pciutils ipmitool \
procps sysstat htop \
tini vim jq bc tree
# Update locale
localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
# Cleanup
rm -rf /var/tmp/* \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apt
# buildkit
# 2025-06-09 20:55:30 0.00B 设置环境变量 DEBIAN_FRONTEND
ENV DEBIAN_FRONTEND=noninteractive
# 2025-06-09 20:55:30 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2025-06-09 20:55:30 0.00B 定义构建参数
ARG TARGETOS=linux
# 2025-06-09 20:55:30 0.00B 定义构建参数
ARG TARGETPLATFORM=linux/amd64
# 2025-06-09 20:55:30 0.00B
SHELL [/bin/bash -eo pipefail -c]
# 2025-05-31 06:30:45 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2025-05-31 06:30:45 77.86MB
/bin/sh -c #(nop) ADD file:82f38ebced7b2756311fb492d3d44cc131b22654e8620baa93883537a3e355aa in /
# 2025-05-31 06:30:42 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=22.04
# 2025-05-31 06:30:42 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
# 2025-05-31 06:30:42 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2025-05-31 06:30:42 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:502a5004e49884f2d9bd3656e83db7c5365efa0c9c433501fc303bdb1fd2bcab",
"RepoTags": [
"gpustack/gpustack:v0.6.2-npu",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gpustack/gpustack:v0.6.2-npu"
],
"RepoDigests": [
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gpustack/gpustack@sha256:80ab2a55fd732f82b21a06b3942c6d57365182f7e470176ede00bacfcad88402"
],
"Parent": "",
"Comment": "buildkit.exporter.image.v0",
"Created": "2025-06-10T11:08:01.844716241Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"DEBIAN_FRONTEND=noninteractive",
"LANG=en_US.UTF-8",
"LANGUAGE=en_US:en",
"LC_ALL=en_US.UTF-8",
"PYTHON_VERSION=3.11",
"PIPX_LOCAL_VENVS=/root/.local/share/pipx/venvs",
"CANN_VERSION=8.1.rc1.beta1",
"CANN_CHIP=910b",
"CANN_HOME=/usr/local/Ascend",
"MINDIE_VERSION=2.0.rc1"
],
"Cmd": null,
"Image": "",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": [
"tini",
"--",
"/usr/bin/bash",
"-c",
"source /etc/profile \u0026\u0026 exec gpustack start \"$@\"",
"--"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.created": "2025-06-10T11:02:58.721Z",
"org.opencontainers.image.description": "Simple, scalable AI model deployment on GPU clusters",
"org.opencontainers.image.licenses": "Apache-2.0",
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.revision": "899bea6697e88d47c0e646c4c05ffa95f3ca0bc6",
"org.opencontainers.image.source": "https://github.com/gpustack/gpustack",
"org.opencontainers.image.title": "gpustack",
"org.opencontainers.image.url": "https://github.com/gpustack/gpustack",
"org.opencontainers.image.version": "v0.6.2-npu"
},
"Shell": [
"/bin/bash",
"-eo",
"pipefail",
"-c"
]
},
"Architecture": "amd64",
"Os": "linux",
"Size": 20912667316,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/0f03c301c4fe24b91d37c47518e8b09c84ec4aaf4daed284ccad41b436bba156/diff:/var/lib/docker/overlay2/90b8700d3d42cb842a23947c19a6ff23b6f6ac0455eb50b45cb8ca1db344e39a/diff:/var/lib/docker/overlay2/c24cd4ed61d87ef4e61022e635b283cddc178d781339ec0ed6625c0931919de5/diff:/var/lib/docker/overlay2/451761696ae0a0fec02bcdd90443c78a15f7e15210015c214987a38edc2ed209/diff:/var/lib/docker/overlay2/b176614124d8be6f5bc2b548ac148f5e54615b688578b0790143d379fdbbe59b/diff:/var/lib/docker/overlay2/ffbcc19bbd090abf79f14b3f3cba6fd829869edbcc380d0a8288f51c2df020d1/diff:/var/lib/docker/overlay2/948bcbd03733f32ee3dcccda69e8ea4835b8867233a3d13c84f576c4a5cd0f30/diff:/var/lib/docker/overlay2/a5e0e006e6301b81d971e045819dbff17b1f810ce7343e12267b9da2f08e4218/diff:/var/lib/docker/overlay2/3bec0f7e520320d72c801bffb7f34a7cca13ac976e82b52332d9454be969f852/diff:/var/lib/docker/overlay2/94720b83eb2d4f68dfd989cba745839e7f0166260d87fe81bccbcf494473875b/diff:/var/lib/docker/overlay2/2aa5ed6440a0b839c920c2f8b729f4152fda8b04b740b93e4a9b907da5f67177/diff:/var/lib/docker/overlay2/18979d66365d579c5c9390cf5f7c9486c2da8d1c64f292fe221d9460b2be99b1/diff:/var/lib/docker/overlay2/728a4b4e59982fc21c4d61871708ce6c810d43b748e61061672fe9585f9c75ac/diff",
"MergedDir": "/var/lib/docker/overlay2/5c5ce7c8c040898f01bd2212c9e4855258bbe123f4fb2c1ffd1a31d4c8d85555/merged",
"UpperDir": "/var/lib/docker/overlay2/5c5ce7c8c040898f01bd2212c9e4855258bbe123f4fb2c1ffd1a31d4c8d85555/diff",
"WorkDir": "/var/lib/docker/overlay2/5c5ce7c8c040898f01bd2212c9e4855258bbe123f4fb2c1ffd1a31d4c8d85555/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:f862e1968e4b4c3c3af141e37d2ec22b19ec0fd50d6a8aaf683de6729e296226",
"sha256:41c84bad1a114b2bef362405c70701cb709bf1d494cc74a9f6654092eaf524f4",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:6bf42b889bbf8d4f1fade9817fbf026a2c4880491e7da68e3c42c488a706a0d9",
"sha256:1577873663bf2f0a78d578c9fb6fc7882484ef771ced4bf88610c88504101da4",
"sha256:d65731c6626aaf89c562e8806d18a708837b2903b71cf74cf1f8fbcb9096e413",
"sha256:119cbe9f5082dfeb43b3a22f0097379328a3b688759cb532018e95c5f65a61d3",
"sha256:cecea92aa62a317e73a22929f9ad6c053f65d27bb3a72e6a8c670343e441d122",
"sha256:aad82392efce47737c440459d630a8d397dc34a4ef3cede6bc110b77ad2bc86a",
"sha256:0eff1507d8f2e4ba79dcf867b7c3000f8b83884fea701988ba8715b160603d5a",
"sha256:8d3262a190baf9b3234cb9096bddb046f933cfd325d3422a09760485d96b0daa",
"sha256:ffaa5b04ba5d44de2efdb421e71c72263f1758fcf1ae15384fefe89984306528",
"sha256:8d395bfadce86084691b379bf509da54aaa6aa1e73e0dc78335378f8a1b02c66",
"sha256:ae977123a26b8274f4add9f2571538612a09f61ca507f1c4827fdd3e56648251"
]
},
"Metadata": {
"LastTagTime": "2025-06-12T04:20:11.382356622+08:00"
}
}