skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
ascend/agent-skills150 installs

ascend-docker

Create Docker containers for Huawei Ascend NPU development with proper device mappings and volume mounts. Use when setting up Ascend development environments in Docker, running CANN applications in containers, or creating isolated NPU development workspaces. Supports privileged mode (default), basic mode, and full mode with profiling/logging. Auto-detects available NPU devices.

How do I install this agent skill?

npx skills add https://github.com/ascend/agent-skills --skill ascend-docker
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubfail

    This skill creates Docker containers for Ascend NPU development with high-privilege settings (privileged mode) and broad volume mounts that expose the host's /home directory. It also contains a shell injection vulnerability due to unquoted variables in its container creation script.

  • Socketwarn

    1 alert: gptSecurity

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Ascend Docker Container

Create Docker containers configured for Huawei Ascend NPU development.

Quick Start

# Privileged mode (default, auto-detect all devices)
./scripts/run-ascend-container.sh <image> <container_name>

# Basic mode with specific devices
./scripts/run-ascend-container.sh <image> <container_name> --mode basic

# Full mode with selected devices
./scripts/run-ascend-container.sh <image> <container_name> --mode full --device-list "0,1,2,3"

Device Selection

The script auto-detects available NPU devices from /dev/davinci*. Use --device-list to select specific devices:

# Use all detected devices (default)
./scripts/run-ascend-container.sh <image> <container_name>

# Use specific devices
./scripts/run-ascend-container.sh <image> <container_name> --device-list "0,1,2,3"

# Use device range
./scripts/run-ascend-container.sh <image> <container_name> --device-list "0-3"

# Combine ranges and individual devices
./scripts/run-ascend-container.sh <image> <container_name> --device-list "0-3,7,10-11"

Check available devices:

ls /dev/davinci* | grep -oE 'davinci[0-9]+$'

Container Modes

1. Privileged Mode (Default)

Maximum permissions, suitable when no specific requirements.

docker run -itd --privileged --name=<CONTAINER_NAME> --ipc=host --net=host \
  --device=/dev/davinci_manager \
  --device=/dev/devmm_svm \
  --device=/dev/hisi_hdc \
  -v /usr/local/sbin:/usr/local/sbin:ro \
  -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
  -v /home:/home \
  -w /home \
  <IMAGE> \
  /bin/bash

2. Basic Mode

Specific device mapping with network host, for inference workloads.

docker run -itd --net=host \
  --name=<CONTAINER_NAME> \
  --device=/dev/davinci_manager \
  --device=/dev/hisi_hdc \
  --device=/dev/devmm_svm \
  --device=/dev/davinci0 \
  --device=/dev/davinci1 \
  ... \
  -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:/home \
  <IMAGE> \
  /bin/bash

3. Full Mode

With profiling, logging, dump, and add-ons support.

docker run -itd --ipc=host \
  --name=<CONTAINER_NAME> \
  --device=/dev/davinci_manager \
  --device=/dev/devmm_svm \
  --device=/dev/hisi_hdc \
  --device=/dev/davinci0 \
  --device=/dev/davinci1 \
  ... \
  -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:/home \
  <IMAGE> \
  /bin/bash

Mode Comparison

FeaturePrivilegedBasicFull
Network modehosthost-
IPC modehost-host
Device accessAll (via privileged)Selected devicesSelected devices
Profiling support✓✗✓
Dump support✓✗✓
Logging (slog)✓✗✓
SecurityLowestHigherHigher

Device Parameters

DevicePurpose
/dev/davinci_managerNPU device manager
/dev/devmm_svmDevice memory management
/dev/hisi_hdcHDC communication device
/dev/davinci<N>Individual NPU devices (0, 1, 2, ...)

Volume Parameters

VolumePurpose
/usr/local/Ascend/driverAscend driver libraries
/usr/local/sbinNPU management tools (npu-smi)
/usr/local/Ascend/add-onsAdditional Ascend components
/var/log/npu/slogSystem logs
/var/log/npu/profilingProfiling data
/var/log/npu/dumpDump data
/etc/localtimeTimezone sync
/homeUser workspace

Common Images

ascendhub.huawei.com/public-ascendhub/ascend-pytorch:24.0.RC1
ascendhub.huawei.com/public-ascendhub/ascend-mindspore:24.0.RC1
ascendhub.huawei.com/public-ascendhub/ascend-toolkit:24.0.RC1

Container Management

docker exec -it <container_name> bash
docker stop <container_name>
docker start <container_name>
docker rm -f <container_name>

Post-Setup

For self-built images, configure environment variables:

echo 'source /usr/local/Ascend/ascend-toolkit/set_env.sh' >> ~/.bashrc
source ~/.bashrc

Official References

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/ascend/agent-skills/ascend-docker">View ascend-docker on skillZs</a>