# Change docker location

## post by kresimir58 on Mar 26, 2024

I am using a lot of docker and since I occasionally turn on/off instances, I would like that data to be saved to storage.

I’ve changed location of docker:

```bash
nano /etc/docker/daemon.json
{
    "data-root": "/home/ubuntu/storage1-utah/docker"
}
```

```bash
sudo systemctl daemon-reload
sudo systemctl restart docker
```

And docker hello-world example works, but other things don’t, like pulling various images:

```bash
docker pull ubuntu
docker: failed to register layer: open /var/lib/dpkg/info/gcc-12-base:amd64.list: invalid argument.
```

I think it is somehow related to docker not working on storage.

Any ideas?

---

## post by cody_b on Mar 26, 2024

Hi,

I couldn’t reproduce the problem you’re experiencing.

Here’s my Docker version:

```bash
$ docker --version
Docker version 24.0.6, build ed223bc
```

Here’s what my `daemon.json` looks like:

```bash
$ cat /etc/docker/daemon.json
{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    },
    "data-root": "/home/ubuntu/persistent-storage/docker"
}
```

Here’s the output of `docker image pull ubuntu`:

```bash
$ docker image pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
bccd10f490ab: Pull complete
Digest: sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
```

Here’s confirmation `data-root` is my persistent storage:

```bash
$ sudo ls -al ~/persistent-storage/docker
total 12
drwx--x--- 12 root   root   11 Mar 26 19:04 .
drwxr-xr-x  4 ubuntu ubuntu  2 Mar 26 19:30 ..
drwx--x--x  4 root   root    7 Mar 26 19:04 buildkit
drwx--x---  2 root   root    0 Mar 26 19:24 containers
-rw-------  1 root   root   36 Mar 26 19:04 engine-id
drwx------  3 root   root    1 Mar 26 19:04 image
drwxr-x---  3 root   root    1 Mar 26 19:04 network
drwx------  4 root   root    2 Mar 26 19:04 plugins
drwx------  2 root   root    0 Mar 26 19:04 runtimes
drwx------  2 root   root    0 Mar 26 19:04 swarm
drwx------  2 root   root    0 Mar 26 19:24 tmp
drwx--x---  3 root   root    2 Mar 26 19:04 vfs
drwx-----x  2 root   root    2 Mar 26 19:04 volumes
```

Also, user `ubuntu` is in the `docker` group:

```bash
$ id --groups --name
ubuntu users admin docker
```
