Not enough space for docker containers Jetson Xavier AGX

I’ve been having a problem.
I’m trying to deploy YOLOX + Bytetracker on Jetson Xavier AGX.

I’ve ran into some space problems. I currently have deleted every file in home directory and I only manage to have 5 GB free.

The docker images I’m trying to pull are sometimes 10+ GB. So it makes it almost impossible to deploy on Jetson due to its 30 GB limitation.

I’ve installed an SSD but I can’t get docker images to be pulled there and all the python libraries also get installed by default on the 30GB SD card.

What is the best simple solution to increase workable space on Jetson Xavier, that also allows me to run and deploy docker containers.

I read some stuff about booting from external SSD but apparently that leads to problems with docker so I don’t think that solution works for me.

Is there a way to increase the 30GB SD card size to a bigger one ?

Hi @pedroazevedo6, what you can do is change the docker data root in your /etc/docker/daemon.json config. This is what mine looks like:

$ cat /etc/docker/daemon.json
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },

    "default-runtime": "nvidia",
    "data-root": "/media/nvidia/WD_NVME/docker/data/JetPack_4.6.1/b77/data"
}

You also want to make sure that your SSD gets mounted at boot in /etc/fstab. Otherwise when the docker daemon starts, your path with not actually be mounted.

1 Like

I’ve mounted the SSD according to this:

And edited the fstab file so I think it’s according to what you said.

Then I changed the daemon.json accordingly.
However when I try to use docker build run etc… it just uses the space on my home folder and I quickly get errors saying I’ve ran out of space.

  GNU nano 2.9.3               /etc/docker/daemon.json                          

{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }

    "data-root": "/xavier_ssd/"

}


If you run sudo docker info, does it show the Docker Root Dir as your mounted path?

No, when i run that command I can find :
Docker Root Dir: /var/lib/docker

I’m not sure why, I changed the daemon.

Is there any other way to increase Xavier AGX usable space?

Ok so after alot more hours of trying different stuff I realized there was a comma “,” missing after the {} of the runtimes.

I added the comma, rebooted the Jetson and now when I type sudo docker info the Docker Root Dir shows what I put and the containers are being mounted there.

We can close this , Thank you very much

OK cool, glad you got it working! Sorry I did not notice the missing comma when you posted your daemon.json either…JSON can be tricky like that :)

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.