FROM quay.io/ascend/vllm-ascend:v0.8.5rc1-openeuler
WORKDIR /tmp
RUN cp -a /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak && \
ARCH=$(uname -m | sed 's/x86_64/x86_64/; s/aarch64/aarch64/') && \
echo "[openEuler-everything]" > /etc/yum.repos.d/openEuler.repo && \
echo "name=openEuler-everything" >> /etc/yum.repos.d/openEuler.repo && \
echo "baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-24.03-LTS/everything/${ARCH}/" >> /etc/yum.repos.d/openEuler.repo && \
echo "enabled=1" >> /etc/yum.repos.d/openEuler.repo && \
echo "gpgcheck=0" >> /etc/yum.repos.d/openEuler.repo && \
echo "gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-24.03-LTS/everything/${ARCH}/RPM-GPG-KEY-openEuler" >> /etc/yum.repos.d/openEuler.repo && \
echo "" >> /etc/yum.repos.d/openEuler.repo && \
echo "[openEuler-EPOL]" >> /etc/yum.repos.d/openEuler.repo && \
echo "name=openEuler-epol" >> /etc/yum.repos.d/openEuler.repo && \
echo "baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-24.03-LTS/EPOL/main/${ARCH}/" >> /etc/yum.repos.d/openEuler.repo && \
echo "enabled=1" >> /etc/yum.repos.d/openEuler.repo && \
echo "gpgcheck=0" >> /etc/yum.repos.d/openEuler.repo && \
echo "" >> /etc/yum.repos.d/openEuler.repo && \
echo "[openEuler-update]" >> /etc/yum.repos.d/openEuler.repo && \
echo "name=openEuler-update" >> /etc/yum.repos.d/openEuler.repo && \
echo "baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-24.03-LTS/update/${ARCH}/" >> /etc/yum.repos.d/openEuler.repo && \
echo "enabled=1" >> /etc/yum.repos.d/openEuler.repo && \
echo "gpgcheck=0" >> /etc/yum.repos.d/openEuler.repo
RUN export TZ=Asia/Shanghai && \
yum clean all && \
yum makecache && \
yum install ca-certificates -y && \
yum install wget dos2unix net-tools openssh openssh-server openssh-clients lsof sshpass -y && \
yum install curl gcc g++ make pkgconfig unzip autoconf git patch -y && \
yum install zlib-devel xz-devel bzip2-libs -y && \
yum install python3-pip -y && \
yum clean all
RUN mkdir ~/.pip && touch ~/.pip/pip.conf && \
echo "[global]" > ~/.pip/pip.conf && \
echo "trusted-host=mirrors.aliyun.com" >> ~/.pip/pip.conf && \
echo "index-url=https://mirrors.aliyun.com/pypi/simple" >> ~/.pip/pip.conf && \
echo "timeout=200" >> ~/.pip/pip.conf
RUN pip3 install -U pip && \
pip3 install transformers==4.51.3 && \
pip3 install pillow==11.2.1 && \
pip3 install numpy==1.26.4 && \
pip3 install torch==2.5.1 && \
rm -rf /root/.cache/pip
WORKDIR /tmp
ARG ASCEND_BASE=/usr/local/Ascend
ARG TOOLKIT_PATH=$ASCEND_BASE/ascend-toolkit/latest
USER root
ENV LD_LIBRARY_PATH=$TOOLKIT_PATH/runtime/lib64:$LD_LIBRARY_PATH
ENV TBE_IMPL_PATH=$TOOLKIT_PATH/opp/op_impl/built-in/ai_core/tbe
ENV PATH=$TOOLKIT_PATH/atc/ccec_compiler/bin:$TOOLKIT_PATH/atc/bin:$PATH
ENV ASCEND_OPP_PATH=$TOOLKIT_PATH/opp
ENV ASCEND_AICPU_PATH=$TOOLKIT_PATH
ENV PYTHONPATH=$TBE_IMPL_PATH:$PYTHONPATH
ENV ASCEND_HOME=${ASCEND_BASE}
RUN wget https://gitcode.com/Ascend/MultimodalSDK/releases/download/v26.0.0/Ascend-mindxsdk-multimodal_26.0.0_linux-aarch64.run && \
chmod +x Ascend-mindxsdk-multimodal_26.0.0_linux-aarch64.run && \
bash Ascend-mindxsdk-multimodal_26.0.0_linux-aarch64.run --install --install-path=/usr/local && \
ln -s /usr/lib64/libbz2.so.1.0.8 /usr/local/multimodal/opensource/FFmpeg/lib/libbz2.so.1.0
RUN sed -i '$a\source /usr/local/Ascend/ascend-toolkit/set_env.sh' ~/.bashrc && \
sed -i '$a\source /usr/local/multimodal/script/set_env.sh' ~/.bashrc && \
sed -i '$a\export LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/driver:$LD_LIBRARY_PATH' ~/.bashrc
RUN rm -rf ./*
WORKDIR /root