21 Star 72 Fork 73

openEuler/openeuler-docker-images
关闭

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Dockerfile 3.31 KB
一键复制 编辑 原始数据 按行查看 历史
baigj 提交于 2025-03-24 12:35 +08:00 . update: container image classification
# Arguments
ARG TARGETPLATFORM
ARG PY_VERSION=3.8
ARG CANN_CHIP=910b
ARG VERSION=8.0.RC1
ARG BASE=openeuler/openeuler:22.03-lts-sp4
# Phase 1: Install Python
FROM ${BASE} as py-installer
# Arguments
ARG PY_VERSION
# Environment variables
ENV PATH=/usr/local/python${PY_VERSION}/bin:${PATH}
# Install dependencies
RUN yum update -y && \
yum install -y \
gcc \
gcc-c++ \
make \
cmake \
curl \
zlib-devel \
bzip2-devel \
openssl-devel \
ncurses-devel \
sqlite-devel \
readline-devel \
tk-devel \
gdbm-devel \
libpcap-devel \
xz-devel \
libev-devel \
expat-devel \
libffi-devel \
systemtap-sdt-devel \
&& yum clean all \
&& rm -rf /var/cache/yum \
&& rm -rf /tmp/*
# Copy files
COPY scripts/python.sh /tmp/python.sh
# Download Python
RUN bash /tmp/python.sh --download
# Install Python
RUN bash /tmp/python.sh --install && \
rm /tmp/python.sh
# Phase 2: Install CANN
FROM py-installer as cann-installer
# Arguments
ARG TARGETPLATFORM
ARG CANN_CHIP
ARG VERSION
# Install dependencies
RUN yum update -y && \
yum install -y \
gcc \
gcc-c++ \
make \
cmake \
unzip \
zlib-devel \
libffi-devel \
openssl-devel \
pciutils \
net-tools \
sqlite-devel \
lapack-devel \
gcc-gfortran \
util-linux \
findutils \
&& yum clean all \
&& rm -rf /var/cache/yum \
&& rm -rf /tmp/*
# Copy files
COPY scripts/cann.sh /tmp/cann.sh
# Download CANN
RUN bash /tmp/cann.sh --download
# Install CANN
RUN bash /tmp/cann.sh --install && \
rm /tmp/cann.sh
# Phase 3: Copy results from previous phases
FROM ${BASE} as official
# Arguments
ARG TARGETPLATFORM
ARG PY_VERSION
ARG CANN_CHIP
ARG VERSION
# Environment variables
ENV PATH=/usr/local/python${PY_VERSION}/bin:${PATH}
ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/common/:/usr/local/Ascend/driver/lib64/driver/:${LD_LIBRARY_PATH}
# Change the default shell
SHELL [ "/bin/bash", "-c" ]
# Install dependencies
RUN yum update -y && \
yum install -y \
ca-certificates \
bash \
glibc \
sqlite-devel \
&& yum clean all \
&& rm -rf /var/cache/yum \
&& rm -rf /tmp/*
# Copy files
COPY --from=cann-installer /usr/local/python${PY_VERSION} /usr/local/python${PY_VERSION}
COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend
COPY --from=cann-installer /etc/Ascend /etc/Ascend
# Set environment variables for Python
RUN PY_PATH="PATH=/usr/local/python${PY_VERSION}/bin:\${PATH}" && \
echo "export ${PY_PATH}" >> /etc/profile && \
echo "export ${PY_PATH}" >> ~/.bashrc
# Set environment variables for CANN
RUN CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \
DRIVER_LIBRARY_PATH="LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/common/:/usr/local/Ascend/driver/lib64/driver/:\${LD_LIBRARY_PATH}" && \
echo "export ${DRIVER_LIBRARY_PATH}" >> /etc/profile && \
echo "export ${DRIVER_LIBRARY_PATH}" >> ~/.bashrc && \
echo "source ${CANN_TOOLKIT_ENV_FILE}" >> /etc/profile && \
echo "source ${CANN_TOOLKIT_ENV_FILE}" >> ~/.bashrc
ENTRYPOINT [ "/bin/bash", "-c", "source /usr/local/Ascend/ascend-toolkit/set_env.sh && exec \"$@\"", "--" ]
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openeuler/openeuler-docker-images.git
git@gitee.com:openeuler/openeuler-docker-images.git
openeuler
openeuler-docker-images
openeuler-docker-images
master

搜索帮助