# Use the NPU from Docker

You can access the NPU from inside a Docker container on your Dragonwing development board through a [Container Device Interface (CDI)](https://docs.docker.com/build/building/cdi/) file. The CDI file *forwards* the NPU device plus all required libraries to your container; so you don't need to install any drivers in the container itself.

## Installing Docker on your development board

First, install Docker on your development board. Open a terminal on your development board, and:

```bash
# Install Docker
sudo apt update
sudo apt install -y docker.io

# Add your current user to the 'docker' group, so you can run Docker commands without needing sudo
sudo usermod -aG docker $USER
newgrp docker

# Verify that the installation works
docker run hello-world
# Hello from Docker!
# This message shows that your installation appears to be working correctly.
```

## Installing the CDI, and running your first application

See [qc-ai-test-docs-examples/docker/](https://github.com/edgeimpulse/qc-ai-test-docs-examples/tree/master/docker) for install instructions, and end-to-end examples. Open a terminal on your development board, and:

1. Clone the repository:

   ```bash
   git clone https://github.com/edgeimpulse/qc-ai-test-docs-examples
   cd qc-ai-test-docs-examples/docker
   ```
2. Follow the instructions in README.md.

## Tips & tricks

### Base container

For best results, use the same base container as your host OS (`ubuntu:24.04`).
