Setup docker
Setup time: 5 min
Setup docker
Install nano (or any other text editor):
bashsudo apt-get install nanoOpen
/etc/docker/daemon.json:bashsudo nano /etc/docker/daemon.jsonEdit from:
json{ "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } } }To:
json{ "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" }Restart docker:
bashsudo systemctl restart dockerNow you need to add docker to the user group:
bashsudo usermod -aG docker $USER
Setup docker compose
Docker compose v1
Install docker compose with:
bash
sudo apt-get -y install docker-composeReboot is suggested 😄
To run docker compose v1 use:
bash
docker-compose <...>Docker compose v2
Download binaries from docker compose repo, select the version you need.
bash
wget -O docker-compose https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-linux-aarch64bash
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}bash
mkdir -p $DOCKER_CONFIG/cli-pluginsbash
cp docker-compose $DOCKER_CONFIG/cli-plugins/bash
chmod +x $DOCKER_CONFIG/cli-plugins/docker-composeTo run docker compose v2 use:
bash
docker compose <...>Run docker containers
Display support
Before running a container:
bash
export DISPLAY=:0bash
xhost +Then run your container.
GPU-ready docker compose
You may find useful the docker-compose.yml below, it shows how to mirror what is necessary + a webcam.
YAML
version: "3"
services:
app:
image: ghcr.io/lanzani/<IMAGE NAME>:<IMAGE TAG>
stdin_open: true
tty: true
network_mode: host
volumes:
- /tmp/argus_socket:/tmp/argus_socket
- /etc/enctune.conf:/etc/enctune.conf
- /etc/nv_tegra_release:/etc/nv_tegra_release
- /tmp/nv_jetson_model:/tmp/nv_jetson_model
- /tmp/.X11-unix/:/tmp/.X11-unix
- /tmp/.docker.xauth:/tmp/.docker.xauth
devices:
- /dev/snd
- /dev/bus/usb
- /dev/video0
environment:
- DISPLAY=:0
- XAUTHORITY=/tmp/.docker.xauthTo start the docker compose:
bash
docker-compose up --build -dTo "jump in" the running container:
- Get container id with:bash
docker ps - "jump in":bash
docker exec -it <ID> bash
General info
Official NVIDIA base images
https://developer.nvidia.com/embedded/learn/tutorials/jetson-container
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-base