Skip to content

Instantly share code, notes, and snippets.

@Merwanski
Created March 20, 2024 17:16
Show Gist options
  • Save Merwanski/f9e3294eb6365e3f85e60859fe480536 to your computer and use it in GitHub Desktop.
Save Merwanski/f9e3294eb6365e3f85e60859fe480536 to your computer and use it in GitHub Desktop.
How to setup docker on a jetson nvidia Xavier, Orin, Nano to save space

1. Clean up the Xavier

You can skip this if you don't have any issues with the demo and enough space df -h

sudo apt update 
# remove "ros" from here /etc/apt/sources.list 
sudo apt upgrade
# After this docker seems to be installed already

## NOK
## sudo apt install nvidia-jetpack --> NOK
# Add Docker to the user group
sudo groupadd docker 
sudo usermod -aG docker $USER
sudo reboot

2. Install docker nvidia

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

3. Update docker settings

To save space and save the docker images on the external sd card

sudo systemctl stop docker.service

# sudo mv /var/lib/docker/ [PATH2SSD]/docker
sudo mv /var/lib/docker/ /mnt/xavierSSD1TB/docker

# sudo ln -s [PATH2SSD]/docker /var/lib/docker
sudo ln -s /mnt/xavierSSD1TB/docker /var/lib/docker

sudo systemctl start docker.service

You can change your docker root folder location. Make sure to shutdown your docker service, copy the content of the old root foler into the new folder and start the service afterwards.

# update the following file or add it if not existing
/etc/docker/daemon.json
{
    "data-root": "/var/lib/docker",

    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment