下载
EN
注册

运行容器

基于直接获取的容器镜像运行容器

  1. root用户登录服务器。
  2. 请执行如下命令基于镜像运行一个容器。
    docker run -itd --net=host \
        --name=infer \
        --device=/dev/davinci_manager \
        --device=/dev/hisi_hdc \
        --device=/dev/devmm_svm \
        --device=/dev/davinci0 \
        --device=/dev/davinci1 \
        --device=/dev/davinci2 \
        --device=/dev/davinci3 \
        --device=/dev/davinci4 \
        --device=/dev/davinci5 \
        --device=/dev/davinci6 \
        --device=/dev/davinci7 \
        -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
        -v /usr/local/sbin:/usr/local/sbin:ro \
        -v /etc/localtime:/etc/localtime \
        -v /home/hwtest:/home/hwtest \
        {image_name}:{tag} \
        /bin/bash
    • --name=infer,表示容器名称为infer,可自定义配置容器名称。
    • --device=/dev/davinci0,命令中默认挂载0-7卡到容器中,可根据实际分配到的device进行挂载。
    • -v /home/hwtest:/home/hwtest,表示将物理机的“/home/hwtest”目录挂载至容器,用户可自定义挂载目录。如需挂载“/home/test1”目录,则配置为-v /home/test1:/home/test1。若物理机没有该目录,该命令会自行创建。
    • {image_name}:{tag},表示镜像名称与标签,可执行docker images命令查看镜像名称和标签。
    • 执行该命令后,如果显示容器ID(如“1dc80f32c263”),则表示已经启动该容器。
  3. 执行如下命令进入容器。容器名称infer仅为示例,请根据实际使用的容器名称进行替换。
    docker exec -it infer /bin/bash

    回显以下信息,表示成功进入该容器。

    username@1dc80f32c263:~$

基于自行构建的容器镜像运行容器

  1. root用户登录服务器。
  2. 请执行如下命令基于新镜像运行一个容器。
    docker run -itd --ipc=host \
    --name=infer \
    --device=/dev/davinci0 \
    --device=/dev/davinci1 \
    --device=/dev/davinci2 \
    --device=/dev/davinci3 \
    --device=/dev/davinci4 \
    --device=/dev/davinci5 \
    --device=/dev/davinci6 \
    --device=/dev/davinci7 \
    --device=/dev/davinci_manager \
    --device=/dev/devmm_svm \
    --device=/dev/hisi_hdc \
    -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
    -v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
    -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
    -v /usr/local/sbin/:/usr/local/sbin/ \
    -v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
    -v /var/log/npu/slog/:/var/log/npu/slog \
    -v /var/log/npu/profiling/:/var/log/npu/profiling \
    -v /var/log/npu/dump/:/var/log/npu/dump \
    -v /var/log/npu/:/usr/slog \
    -v /etc/localtime:/etc/localtime \
    -v /home/hwtest:/home/hwtest \
    ascend-cann:8.0.RC3-ubuntu \
    /bin/bash
    • --name=infer,表示容器名称为infer,可自定义配置容器名称。
    • 命令中默认挂载0-7张卡到容器中,可根据实际分配到的device进行挂载。
    • -v /home/hwtest:/home/hwtest,表示将物理机的“/home/hwtest”目录挂载至容器,用户可自定义挂载目录。如需挂载“/home/test1”目录,则配置为-v /home/test1:/home/test1。若物理机没有该目录,该命令会自行创建。
    • ascend-cann:8.0.RC3-ubuntu,表示构建的容器镜像名和标签,可执行docker images命令查看。
    • 执行该命令后,如果显示容器ID(如“1dc80f32c263”),则表示已经启动该容器。
  3. 执行如下命令进入容器。容器名称infer仅为示例,请根据实际使用的容器名称进行替换。
    docker exec -it infer /bin/bash

    回显以下信息,表示成功进入该容器。

    username@1dc80f32c263:~$
  4. 配置环境变量,用户可以通过修改~/.bashrc文件方式设置永久环境变量,操作如下:
    1. 以运行用户在任意目录下执行vi ~/.bashrc命令,打开.bashrc文件,在文件最后一行后面添加如下内容。
      source /usr/local/Ascend/ascend-toolkit/set_env.sh
    2. 执行如下命令保存文件并退出。
      :wq!
    3. 执行如下命令使其立即生效。
      source ~/.bashrc