文章目录
1 docker环境安装
docker环境安装请参考[鲲鹏920-arm64][Euler OS 20.03 LTS] Docker安装一文
2 制作docker镜像
2.1 编写dockerfile文件
基础镜像gromacs_euler_os:compile_base请查看[鲲鹏920-arm64][Euler OS] gromacs源码编译一文2.1节。
FROM gromacs_euler_os:compile_base
ARG NNAE_VERSION=20.0.RC1
ARG NNAE_ARCH=arm64
ARG HOST_ASCEND_BASE=/usr/local/Ascend
ARG CNT_ASCEND_BASE=/usr/local/Ascend/nnae/$NNAE_VERSION/$NNAE_ARCH-linux_gcc7.3.0
ARG ASCEND_NNAE_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/Ascend-NNAE-20.0.RC1-arm64-linux_gcc7.3.0.run"
ARG ASCEND_TF_PLUG_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/Ascend-TFPlugin-20.0.RC1-arm64-linux_gcc7.3.0.run"
ARG PYTHON_DOWNLOAD_URL="https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz"
# 自行编译好的tensorflow安装包,本文资源部分有提供编译好的1.15.4版本下载
ARG TENSORFLOW_PKG_NAME="tensorflow-1.15.4-cp37-cp37m-linux_aarch64.whl"
ARG TENSORFLOW_PKG_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/${TENSORFLOW_PKG_NAME}"
# 以下两个文件位于安装好ascend 910 driver的host机器上,为了让镜像尽量少分层,制作dockerfile的时候从源位置拷出来了
# ascend_install.info位于host机器/etc/ascend_install.info
ARG ASCEND_INSTALL_INFO_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/ascend_install.info"
# version.info位于host机器/usr/local/Ascend/driver/version.info
ARG ASCEND_VERSION_INFO_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/version.info"
WORKDIR /root
# 安装系统包
RUN yum update && \
yum install -y curl wget g++ blas blas-devel gcc-gfortran libgfortran libffi-devel
# 安装python-3.7.5
RUN mkdir -p /data/python && \
cd /data/python && \
wget ${PYTHON_DOWNLOAD_URL} && \
tar xf Python-3.7.5.tgz && \
cd Python-3.7.5 && \
./configure --prefix=/usr/local/python3.7.5 --enable-shared && \
make && make install && \
cd / && rm -rf /data/python && \
rm -rf /usr/lib64/libpython3.7m.so.1.0 && \
ln -s /usr/local/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib64 && \
ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7 && \
ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7 && \
ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5 && \
ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5 && \
ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python && \
pip3.7 config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple
# HwHiAiUser
# 注意: HwHiAiUser的uid和gid必须与host侧保持一致。若不一致则启动进程的时候会因为权限问题而拒绝访问,docker内/usr/local/Ascend环境是只读的,故也不能从容器内进行权限修改. 可以有host侧通过 cat /etc/passwd查看HwHiAiUser的uid和gid.
# 本文中host侧HwHiAiUser的uid=1001, 故这里指定uid和gid都为1001以防止出现权限问题
RUN umask 0022 && \
groupadd -g 1001 HwHiAiUser && \
useradd -u 1001 -g HwHiAiUser -m -d /home/HwHiAiUser HwHiAiUser
# 安装python包
# tensorflow1.15版本编译时要求numpy < 1.19.0, 所以安装编译好的包也需要小于此版本
RUN pip3.7 install 'numpy<1.19.0' decorator sympy==1.4 cffi==1.12.3 pyyaml pathlib2 grpcio grpcio-tools protobuf scipy requests
# 安装Ascend包和插件

本文详细介绍如何在鲲鹏920环境下安装docker并构建昇腾AI开发镜像,包括编写Dockerfile和docker-compose文件的过程。同时,还提供了HelloWorld示例用于验证开发环境的正确性。

959

被折叠的 条评论
为什么被折叠?



