Lost all docker containers and data when using move data on dietpi-Drive Manager

So. I was a functioning docker with multiple containers running. and i use dietpi_DriverManager to move the dietpi_userdata. Since then, docker just don’t run anything.

Can i know why ? I try to run and it found no images locally, nothing. Did DriveManager just break Docker ?

did you tied checking logs?

journalctl -u docker.service

Yeah. Got a lots of

sandbox 38a09401c5beda6b388a04a91db2aa1934de10efc1bc455cd3461b488a9eeab1 not found"

Meaning they don’t found my containers. Also there’s seem to be in /mnt/data/dietpi_userdata/docker-data and /mnt/dietpi_userdata/docker-data somes data…

Also when i do a docker info -f '{{ .DockerRootDir}}' it show my new root dir. But still don’t see any containers and data in it. Did it not move all ?

Ok, so after investigations. It seem i need to edit EVERY config.v2.json inside EVERY containers to just fix that. But… Hum…Can i just avoid this ?

Here : Error starting container after moving docker root directory - #10 by meyay - General - Docker Community Forums

EDIT : So, anything i tried don’t work. edit config files and all don"t work. It seem the way docker manager containers just make impossible moving data.

Can… dietpi take notice of that so they can’t break all installation with one GUI command without any warning ?

Usually the symbolic link should work. Because the old path to user data is still there due the symlinc link. For Docker engine it should not make a difference. At least nobody else is reporting it and I can’t remember such a case the last years.

The drive manager is moving the whole data directory. It’s a full copy and not just parts of it.

I tried some stuffs around symlink but no success. I lost all my containers, or it just don’t find it anymore

Did you tried moving back your user data and to revert all changes done?

Yeah. And it’s just… Broke my docker. Even when i just restore the directory in /mnt/dietpi_userdata

So i just confirm : drivemanager moving dietpi_userdata just break a working docker installation. No way to restore containers, no way to have containers working. Lost all my images, lost containers, config. Just, lost all.

So yeah, thanks dietpi, you just broke all my apps with just one GUI command, for no reasons.

EDIT : It didn’t even saw my containers in docker-data/containers/ when there’s folders and files here. Like nothing make sense

Your conclusion is simply not correct, I did a test an RPI 5 and moving user data (incl Docker) is working without issue

  • Engine running
root@DietPi5:~# systemctl status docker.*
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/docker.service.d
             └─dietpi-simple.conf
     Active: active (running) since Fri 2024-12-13 12:44:52 CET; 4min 46s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 5686 (dockerd)
      Tasks: 96
        CPU: 711ms
     CGroup: /system.slice/docker.service
             ├─5686 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
             ├─5925 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9002 -container-ip 172.17.0.2 -container-port 9000
             ├─5933 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 9002 -container-ip 172.17.0.2 -container-port 9000
             ├─5979 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3001 -container-ip 172.17.0.3 -container-port 3001
             ├─5986 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 3001 -container-ip 172.17.0.3 -container-port 3001
             ├─6016 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.17.0.4 -container-port 80
             ├─6022 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 80 -container-ip 172.17.0.4 -container-port 80
             ├─6031 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 81 -container-ip 172.17.0.4 -container-port 81
             ├─6041 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 81 -container-ip 172.17.0.4 -container-port 81
             ├─6049 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 443 -container-ip 172.17.0.4 -container-port 443
             └─6056 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 443 -container-ip 172.17.0.4 -container-port 443

Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [Setup    ] › ℹ  info      Logrotate completed.
Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [IP Ranges] › ℹ  info      Fetching IP Ranges from online services...
Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [IP Ranges] › ℹ  info      Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v4
Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v6
Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [SSL      ] › ℹ  info      Let's Encrypt Renewal Timer initialized
Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [SSL      ] › ℹ  info      Renewing SSL certs expiring within 30 days ...
Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [Global   ] › ℹ  info      Backend PID 150 listening on port 3000 ...
Dec 13 12:45:15 DietPi5 1346ded066bf[5686]: [12/13/2024] [11:45:15 AM] [SSL      ] › ℹ  info      Completed SSL cert renew process
  • Socket running
● docker.socket - Docker Socket for the API
     Loaded: loaded (/lib/systemd/system/docker.socket; enabled; preset: enabled)
     Active: active (running) since Fri 2024-12-13 11:57:53 CET; 51min ago
   Triggers: ● docker.service
     Listen: /run/docker.sock (Stream)
      Tasks: 0 (limit: 4771)
        CPU: 436us
     CGroup: /system.slice/docker.socket

Dec 13 11:57:53 DietPi5 systemd[1]: Starting docker.socket - Docker Socket for the API...
Dec 13 11:57:53 DietPi5 systemd[1]: Listening on docker.socket - Docker Socket for the API.
root@DietPi5:~#
  • Docker overlay pointing to USB device
root@DietPi5:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       118G  2.7G  110G   3% /
devtmpfs        2.0G     0  2.0G   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           810M   12M  798M   2% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /tmp
/dev/nvme0n1p1  127M   33M   95M  26% /boot/firmware
tmpfs            50M  128K   50M   1% /var/log
/dev/sda1        30G  2.0G   28G   7% /mnt/usb
overlay          30G  2.0G   28G   7% /mnt/usb/dietpi_userdata/docker-data/overlay2/7255fac3c9411d9a13452bf51b38c1ed833d9f5b20376e53780f09acfa1558ae/merged
overlay          30G  2.0G   28G   7% /mnt/usb/dietpi_userdata/docker-data/overlay2/2ae518d39ca7a087e357595932732909a7169966820294732997037d0f3f3453/merged
overlay          30G  2.0G   28G   7% /mnt/usb/dietpi_userdata/docker-data/overlay2/a24db7a8b74c8cdbcce3fa189d53e1fd756e0829aadfd7f10d703824e2ca9974/merged
  • USB device mounted to /mnt/usb
root@DietPi5:~# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    1  29.9G  0 disk
└─sda1        8:1    1  29.9G  0 part /mnt/usb
nvme0n1     259:0    0 119.2G  0 disk
├─nvme0n1p1 259:1    0   128M  0 part /boot/firmware
└─nvme0n1p2 259:2    0 119.1G  0 part /
  • Symlink in place and working
root@DietPi5:~# readlink -f /mnt/dietpi_userdata
/mnt/usb/dietpi_userdata

root@DietPi5:~# ls -la /mnt/ | grep dietpi_userdata
lrwxrwxrwx  1 root   root     24 Dec 13 12:07 dietpi_userdata -> /mnt/usb/dietpi_userdata
  • All Docker files available/located on USB device
root@DietPi5:~# ls -la /mnt/dietpi_userdata/docker-data/
total 60
drwx--x--- 12 root   root    4096 Dec 13 12:44 .
drwxrwxr-x  7 dietpi dietpi  4096 Dec 13 11:57 ..
drwx--x--x  3 root   root    4096 Dec 13 11:57 buildkit
drwx--x---  5 root   root    4096 Dec 13 12:01 containers
-rw-------  1 root   root      36 Dec 13 11:57 engine-id
drwx------  3 root   root    4096 Dec 13 11:57 image
drwxr-x---  3 root   root    4096 Dec 13 11:57 network
drwx--x--- 67 root   root   12288 Dec 13 12:45 overlay2
drwx------  3 root   root    4096 Dec 13 11:57 plugins
drwx------  2 root   root    4096 Dec 13 12:44 runtimes
drwx------  2 root   root    4096 Dec 13 11:57 swarm
drwx------  3 root   root    4096 Dec 13 12:45 tmp
drwx-----x  5 root   root    4096 Dec 13 12:44 volumes

root@DietPi5:/mnt/dietpi_userdata/docker-data# df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        30G  2.0G   28G   7% /mnt/usb
  • All containers are up and running
root@DietPi5:~# docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED          STATUS                   PORTS                                                                                  NAMES
1346ded066bf   jc21/nginx-proxy-manager   "/init"                  52 minutes ago   Up 9 minutes             0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   npm
f6d599816132   louislam/uptime-kuma:1     "/usr/bin/dumb-init …"   55 minutes ago   Up 9 minutes (healthy)   0.0.0.0:3001->3001/tcp, :::3001->3001/tcp                                              uptime-kuma
0fd72bfb5b28   portainer/portainer-ce     "/portainer"             56 minutes ago   Up 9 minutes             8000/tcp, 9443/tcp, 0.0.0.0:9002->9000/tcp, [::]:9002->9000/tcp                        portainer
root@DietPi5:~#

Ok but that doesn’t explain AT ALL why it behave like this on my RPI4 with btrfs.

Because i don’t lie : i do moving user with dietpi_DriveManager and since, i lost all my containers, images and config. install old images didn"t restore my config (for like : nginx proxy manager)

So, on my side, it’s a fact : drivemanager broke my docker installation i didn’t do anything more than just use drivemanager. Also, why it didn’t show my containers now ? Why it doesn’t show any images ?

I don’t understand when you state a issue and someone came to say “for me it’s work”
Yeah… and ? For me… it didn’t and all is broke now ? Are you saying i’m just a liar ?

EDIT : Now it just didn’t even show sandbox error anymore, so ALL is completly lost now, didn’t even show all images. So i have to just… Reinstall all again ? So cool !

For example : portainer, even when i tried to reinstall it, just now have zero configuration and want me to create a new installation…

Why ? i JUST move using drivemanager. I don’t understand why i lost ALL

I did more testing, install additional container /stacks via Portainer UI. All good. Afterwards I was moving whole user data back from USB to NVMe. Again no issues

Everything is located on /mnt/ again

/dev/sda1        30G   24K   30G   1% /mnt/usb
overlay         118G  6.7G  106G   6% /mnt/dietpi_userdata/docker-data/overlay2/a24db7a8b74c8cdbcce3fa189d53e1fd756e0829aadfd7f10d703824e2ca9974/merged
overlay         118G  6.7G  106G   6% /mnt/dietpi_userdata/docker-data/overlay2/2ae518d39ca7a087e357595932732909a7169966820294732997037d0f3f3453/merged
overlay         118G  6.7G  106G   6% /mnt/dietpi_userdata/docker-data/overlay2/7255fac3c9411d9a13452bf51b38c1ed833d9f5b20376e53780f09acfa1558ae/merged
overlay         118G  6.7G  106G   6% /mnt/dietpi_userdata/docker-data/overlay2/1d68792cb6ed21eef64d7b89691dd1a8269450f5cd1100c557352be19b2768a0/merged

if your /mnt/dietpi_userdata/docker-data/ is empty (doesn’t matter of moved to an external drive) something doesn’t seems to be correct on copy process.

Can you review information on screen, if there are error messages

root@DietPi5:~# dietpi-drive_manager
[ INFO ] DietPi-Drive_Manager | Detecting drives, please wait...
[ INFO ] DietPi-Drive_Manager |  - Detected mounted physical drive: /dev/nvme0n1p2 > /
[ INFO ] DietPi-Drive_Manager |  - Detected mounted physical drive: /dev/nvme0n1p1 > /boot/firmware
[ INFO ] DietPi-Drive_Manager |  - Detected mounted physical drive: /dev/sda1 > /mnt/usb
[  OK  ] DietPi-Drive_Manager | mv .fstab /etc/fstab
[  OK  ] DietPi-Drive_Manager | systemctl daemon-reload
[ INFO ] DietPi-Drive_Manager | Checking for required APT packages: e2fsprogs e2fsprogs
[  OK  ] DietPi-Drive_Manager | sync
[ SUB1 ] DietPi-Services > stop
[  OK  ] DietPi-Services | stop : cron
[  OK  ] DietPi-Services | stop : docker
[ SUB1 ] DietPi Updating user data location >
[ INFO ] DietPi-Set_userdata |  - From : /mnt/usb/dietpi_userdata
[ INFO ] DietPi-Set_userdata |  - To   : /mnt/dietpi_userdata
[ INFO ] DietPi-Set_userdata | Please wait...
[  OK  ] DietPi-Set_userdata | rm /mnt/dietpi_userdata
[  OK  ] DietPi-Set_userdata | mkdir -p /mnt/dietpi_userdata
[  OK  ] DietPi-Set_userdata | Free space check: path=/mnt/dietpi_userdata | available=112418 MiB | required=4093 MiB
[ INFO ] DietPi-Set_userdata | Moving your existing data from /mnt/usb/dietpi_userdata to /mnt/dietpi_userdata, please wait...
[  OK  ] DietPi-Set_userdata | Successfully moved your data from /mnt/usb/dietpi_userdata to /mnt/dietpi_userdata.
[  OK  ] DietPi-Set_userdata | Completed
[ INFO ] DietPi-Drive_Manager | Detecting drives, please wait...
[ INFO ] DietPi-Drive_Manager |  - Detected mounted physical drive: /dev/nvme0n1p2 > /
[ INFO ] DietPi-Drive_Manager |  - Detected mounted physical drive: /dev/nvme0n1p1 > /boot/firmware
[ INFO ] DietPi-Drive_Manager |  - Detected mounted physical drive: /dev/sda1 > /mnt/usb
[  OK  ] DietPi-Drive_Manager | mv .fstab /etc/fstab
[  OK  ] DietPi-Drive_Manager | systemctl daemon-reload
[  OK  ] DietPi-Drive_Manager | sync
[ SUB1 ] DietPi-Services > start
[  OK  ] DietPi-Services | start : docker
[  OK  ] DietPi-Services | start : cron
root@DietPi5:~#

Or any other kernel error messages

dmesg -l 0,1,2,3

Here, my /docker-data/containers folders :

ls /mnt/dietpi_userdata/docker-data/containers
201f8d3b7d214f68bd457ba2782fdb8b953012d771251a98e7f2725096511d6b  b66e41486903de3af2c7e3cf61a84cfe9e7ed26be112d1e255a1c73470d4b172
596069d0cd4df900ba889c3e43eeebfc170cbb7577eb5592511d7fd86e275dca  cf2ba28678df03136894208ccb941ea255e47a4692830ba676399cadcc8a8b57
60b9fdaab060c4f780bbd65168b80a069cf9824b3b02052e28787825b57f4cc1  e91e3f4d038916a433866fd2bde0a6383603d7527c8aa9b157cb40e74344be48
b2fc62394730f7bd9e7e76a63fd8a444ad0227d8903f104f1571976f73df6959  f76cad0d6287a00acf0c16c8c1dbc5f7d493a877fa37560b52540cdbafa7aa85

Here systemctl status docker

Dec 13 13:14:23 DietPi cf2ba28678df[388363]: 2024/12/13 12:14PM INF github.com/portainer/portainer/api/chisel/service.go:200 > found Chisel>
Dec 13 13:14:23 DietPi cf2ba28678df[388363]: 2024/12/13 12:14:23 server: Reverse tunnelling enabled
Dec 13 13:14:23 DietPi cf2ba28678df[388363]: 2024/12/13 12:14:23 server: Fingerprint U1EF66HF5yQA+JLJgm169rJoC7mUcFH4KP4ysjXYLwA=
Dec 13 13:14:23 DietPi cf2ba28678df[388363]: 2024/12/13 12:14:23 server: Listening on http://0.0.0.0:8000
Dec 13 13:14:23 DietPi cf2ba28678df[388363]: 2024/12/13 12:14PM INF github.com/portainer/portainer/api/datastore/postinit/migrate_post_init>
Dec 13 13:14:23 DietPi cf2ba28678df[388363]: 2024/12/13 12:14PM INF github.com/portainer/portainer/api/cmd/portainer/main.go:655 > starting>
Dec 13 13:14:23 DietPi cf2ba28678df[388363]: 2024/12/13 12:14PM INF github.com/portainer/portainer/api/http/server.go:370 > starting HTTPS >
Dec 13 13:14:23 DietPi cf2ba28678df[388363]: 2024/12/13 12:14PM INF github.com/portainer/portainer/api/http/server.go:354 > starting HTTP s>
Dec 13 13:16:30 DietPi dockerd[388363]: time="2024-12-13T13:16:30.120163759+01:00" level=error msg="Not continuing with pull after error: e>
cat /etc/docker/daemon.json
{
    "data-root": "/mnt/dietpi_userdata/docker-data",
    "log-driver": "journald",
    "log-level": "warn",
    "debug": false
}
docker image ls
REPOSITORY                 TAG              IMAGE ID       CREATED         SIZE
fallenbagel/jellyseerr     latest           554a211607e5   4 weeks ago     1.33GB
portainer/portainer-ce     latest           9c9caec4fc26   7 weeks ago     294MB
jc21/nginx-proxy-manager   latest           00c8fc324701   8 weeks ago     1.09GB
ghcr.io/analogj/scrutiny   master-omnibus   77d0282d5686   2 months ago    382MB
ghcr.io/wizarrrr/wizarr    latest           3bb88582b8eb   6 months ago    1.25GB
containrrr/watchtower      latest           c352868a1654   13 months ago   14.2MB
hello-world                latest           ee301c921b8a   19 months ago   9.14kB

Don’t know how much i have to show to just proove something wrong Got images, got conatainers folders. But it’s not running anything now.

For example, if i run docker run nginx-proxy-manager it will just tell me it didn’t found anything (and also something around permissions ?)

/mnt/dietpi_userdata/docker-data# docker run nginx-proxy-manager
Unable to find image 'nginx-proxy-manager:latest' locally
docker: Error response from daemon: pull access denied for nginx-proxy-manager, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.

And, if i use the image ID it show this :

❯ Configuring npm user ...
useradd warning: npm's uid 0 outside of the UID_MIN 1000 and UID_MAX 60000 range.
❯ Configuring npm group ...
❯ Checking paths ...
--------------------------------------
ERROR: /etc/letsencrypt is not mounted! Check your docker configuration.
--------------------------------------
s6-rc: warning: unable to start service prepare: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.

Did you set btrfs storge-driver in docker your docker config, or overlay2?
Your containers are there but docker can not see them, maybe the metadata got corrupted, which can happen if you use not the correct storage-driver.
Whats the output of docker ps -a.

it seem it was overlay2. So maybe it was the fact it move data from a ext4 overlay2 to a btrfs filesystem that broke all ?

docker ps -a show all the containers, so maybe moving back bring them back ? But cannot launch any of them, don’t find images

 docker ps -a
CONTAINER ID   IMAGE                                     COMMAND                  CREATED        STATUS                     PORTS                                                                                  NAMES
0e9e94abf322   00c8fc324701                              "/init"                  2 hours ago    Exited (0) 2 hours ago                                                                                            brave_swartz
60b9fdaab060   hello-world                               "/hello"                 3 days ago     Exited (0) 3 days ago                                                                                             condescending_merkle
b66e41486903   jc21/nginx-proxy-manager:latest           "/init"                  3 days ago     Exited (0) 3 days ago                                                                                             nginx-app-1
cf2ba28678df   portainer/portainer-ce:latest             "/portainer"             4 weeks ago    Up 2 hours                 8000/tcp, 9443/tcp, 0.0.0.0:9002->9000/tcp, [::]:9002->9000/tcp                        portainer
201f8d3b7d21   fallenbagel/jellyseerr:latest             "/sbin/tini -- pnpm …"   4 weeks ago    Exited (143) 4 days ago    0.0.0.0:5055->5055/tcp, :::5055->5055/tcp                                              jellyseerr
e91e3f4d0389   jc21/nginx-proxy-manager:latest           "/init"                  7 weeks ago    Exited (0) 4 days ago      0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginxproxymanager-app-1
f76cad0d6287   ghcr.io/analogj/scrutiny:master-omnibus   "/init"                  2 months ago   Exited (255) 10 days ago   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp   scrutiny
596069d0cd4d   ghcr.io/wizarrrr/wizarr:latest            "/docker-entrypoint.…"   6 months ago   Exited (137) 9 days ago    0.0.0.0:5690->5690/tcp, :::5690->5690/tcp                                              wizarr
b2fc62394730   containrrr/watchtower                     "/watchtower"            6 months ago   Exited (255) 10 days ago   8080/tcp                                                                               watchtower

that’s what I ask already, if you tried moving dietpi user data back. I understood you did already. Did you?

btrfs does not seem to be a problem. I can run the containers from a USB stick with btrfs without any problems

/dev/sda1      btrfs     31373312 4256304  26797168  14% /mnt/usb
overlay        overlay   31373312 4256304  26797168  14% /mnt/usb/dietpi_userdata/docker-data/overlay2/7255fac3c9411d9a13452bf51b38c1ed833d9f5b20376e53780f09acfa1558ae/merged
overlay        overlay   31373312 4256304  26797168  14% /mnt/usb/dietpi_userdata/docker-data/overlay2/a24db7a8b74c8cdbcce3fa189d53e1fd756e0829aadfd7f10d703824e2ca9974/merged
overlay        overlay   31373312 4256304  26797168  14% /mnt/usb/dietpi_userdata/docker-data/overlay2/2ae518d39ca7a087e357595932732909a7169966820294732997037d0f3f3453/merged
root@DietPi5:~# docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED       STATUS                           PORTS                                                                                  NAMES
1346ded066bf   jc21/nginx-proxy-manager   "/init"                  5 hours ago   Up 8 minutes                     0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   npm
f6d599816132   louislam/uptime-kuma:1     "/usr/bin/dumb-init …"   5 hours ago   Up 8 minutes (healthy)           0.0.0.0:3001->3001/tcp, :::3001->3001/tcp                                              uptime-kuma
0fd72bfb5b28   portainer/portainer-ce     "/portainer"             5 hours ago   Up 8 minutes                     8000/tcp, 9443/tcp, 0.0.0.0:9002->9000/tcp, [::]:9002->9000/tcp                        portainer

can you share

ls /mnt/dietpi_userdata/docker-data/containers

Already share that in the post upward, i repost it here

ls /mnt/dietpi_userdata/docker-data/containers
201f8d3b7d214f68bd457ba2782fdb8b953012d771251a98e7f2725096511d6b  b66e41486903de3af2c7e3cf61a84cfe9e7ed26be112d1e255a1c73470d4b172
596069d0cd4df900ba889c3e43eeebfc170cbb7577eb5592511d7fd86e275dca  cf2ba28678df03136894208ccb941ea255e47a4692830ba676399cadcc8a8b57
60b9fdaab060c4f780bbd65168b80a069cf9824b3b02052e28787825b57f4cc1  e91e3f4d038916a433866fd2bde0a6383603d7527c8aa9b157cb40e74344be48
b2fc62394730f7bd9e7e76a63fd8a444ad0227d8903f104f1571976f73df6959  f76cad0d6287a00acf0c16c8c1dbc5f7d493a877fa37560b52540cdbafa7aa85

Sorry should be ls -la to see permissions

Oh, ok, here :

ls -la /mnt/dietpi_userdata/docker-data/containers
total 36
drwx--x---.  9 root root 4096 Dec 13 15:23 .
drwx--x---. 13 root root 4096 Dec 13 13:34 ..
drwx--x---   4 root root 4096 Dec 13 13:37 0e9e94abf32220a0944005e1120ad4f77b0637088c52d379af0bf26e0ef945c1
drwx--x---.  4 root root 4096 Dec 13 13:34 201f8d3b7d214f68bd457ba2782fdb8b953012d771251a98e7f2725096511d6b
drwx--x---.  4 root root 4096 Dec 13 13:34 596069d0cd4df900ba889c3e43eeebfc170cbb7577eb5592511d7fd86e275dca
drwx--x---.  4 root root 4096 Dec 13 13:34 b2fc62394730f7bd9e7e76a63fd8a444ad0227d8903f104f1571976f73df6959
drwx--x---.  4 root root 4096 Dec 13 13:34 cf2ba28678df03136894208ccb941ea255e47a4692830ba676399cadcc8a8b57
drwx--x---.  4 root root 4096 Dec 13 13:34 e91e3f4d038916a433866fd2bde0a6383603d7527c8aa9b157cb40e74344be48
drwx--x---.  4 root root 4096 Dec 13 13:34 f76cad0d6287a00acf0c16c8c1dbc5f7d493a877fa37560b52540cdbafa7aa85

Thanks for the help by the way

This is all good

Can you try to pull the image?

docker pull jc21/nginx-proxy-manager