Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Docker engine freeze locks up Unraid

Featured Replies

I've experienced this issue occasionally over several years across Unraid 6.11.x-6.12.14 versions where when I try to start a container (no particular pattern, it has happened from starting a container via Docker web GUI, via SSH docker run, and via docker compose up), suddenly all of Unraid becomes unresponsive and must be hard shutdown (physically kill power). When this happens, every subsequent Unraid boot also locks up the server (GUI, SSH connections) once Docker starts. Each time, before hanging indefinitely, the last syslog lines I get look like this:

 

 

Dec  1 21:24:12 bananalord emhttpd: shcmd (151): /usr/local/sbin/mount_image '/mnt/cache/system/docker/' /var/lib/docker 256
Dec  1 21:24:12 bananalord emhttpd: shcmd (153): /etc/rc.d/rc.docker start
Dec  1 21:24:12 bananalord root: starting dockerd ...
Dec  1 21:24:13 bananalord avahi-daemon[7353]: Server startup complete. Host name is bananalord.local. Local service cookie is 2033039608.
Dec  1 21:24:13 bananalord avahi-daemon[7353]: Service "bananalord" (/services/ssh.service) successfully established.
Dec  1 21:24:13 bananalord avahi-daemon[7353]: Service "bananalord" (/services/smb.service) successfully established.
Dec  1 21:24:13 bananalord avahi-daemon[7353]: Service "bananalord" (/services/sftp-ssh.service) successfully established.
Dec  1 21:24:15 bananalord nmbd[7269]: [2024/12/01 21:24:15.878305,  2] ../../source3/nmbd/nmbd_elections.c:111(check_for_master_browser_fail)
Dec  1 21:24:15 bananalord nmbd[7269]:   check_for_master_browser_fail: Forcing election on workgroup WORKGROUP subnet 10.0.0.100
Dec  1 21:24:18 bananalord nmbd[7269]: [2024/12/01 21:24:18.881409,  2] ../../source3/nmbd/nmbd_elections.c:41(send_election_dgram)
Dec  1 21:24:18 bananalord nmbd[7269]:   send_election_dgram: Sending election packet for workgroup WORKGROUP on subnet 10.0.0.100
Dec  1 21:24:20 bananalord nmbd[7269]: [2024/12/01 21:24:20.883171,  2] ../../source3/nmbd/nmbd_elections.c:41(send_election_dgram)
Dec  1 21:24:20 bananalord nmbd[7269]:   send_election_dgram: Sending election packet for workgroup WORKGROUP on subnet 10.0.0.100
Dec  1 21:24:21 bananalord kernel: Bridge firewalling registered
Dec  1 21:24:21 bananalord kernel: Initializing XFRM netlink socket

 

The only solution (that I've begrudgingly become accustomed to doing) are to take the steps I've written in this post. Basically, I have to manually edit the /boot/config/docker.cfg on my boot USB on a separate machine to disable Docker before boot, then I have to delete my Docker directory /mnt/cache/system/docker and then re-enable Docker and re-download all of my containers via Community Apps > Previously Installed > Docker. I have about 120 containers so this takes 1-2 hours to download.

For background on my Docker setup, I keep my Docker images on my cache drive, which is a 2-mirror ZFS zpool, with >1TB of unallocated space. I have had this hanging issue regardless of having a docker.img as an xfs volume, btrfs volume, or as a directory. I have most recently been using a directory with a ZFS overlay (so each image appears as a dataset). I have also tried using a zvol according to this guide. My Docker custom network type is ipvlan.

What really frustrates me is the unpredictability. It doesn't seem to correspond to having too many containers, too many image layers, too much running on the server. Most recently it has happened when I try to start my Immich Docker Compose.

Any help would be appreciated. Diagnostics attached.

bananalord-diagnostics-20241201-2132.zip

Edited by ZooMass
Add Docker custom network type

Solved by ZooMass

  • Author

Adding a few more details:

 

- I replaced my Unraid USB within the last year. It's branded by Micro Center, not a brand name but it's probably not some cheap random flash memory.

- I don't have frequent read-writes to my USB. All the logs I'm aware of write to the cache or array.

- Cache where system dataset lives are two Samsung NVMe SSDs, purchased new within last 2 years. SMART status is passing on both.

- I just had this system freeze happen again while trying to recover from a previous one. It froze at the points when I was only running 4 containers and was running a docker network add command that hung, and then so did the system.

  • 11 months later...
  • Author
  • Solution

I think that I have at last figured out what the problem was. When creating custom Docker networks, the Docker daemon default address pools would collide with the networking configuration on my Unraid host, and interrupt any network connections I had to the host. I think this is a manifestation of the problem described here: https://noted.lol/fixing-docker-network-problem/ and here: https://old.reddit.com/r/selfhosted/comments/1az6mqa/psa_adjust_your_docker_defaultaddresspool_size/

Those links suggest to configure the default address pools in the /etc/docker/daemon.json but this file is not persistent across reboots on Unraid, so instead I figured out the command-line equivalent, and edited /boot/config/docker.cfg to add DOCKER_OPTS="--default-address-pool base=172.16.0.0/12,size=24"

I've only added this recently at my latest encounter with this issue, so I'm not sure that I'll never encounter this issue again. After trying repeatedly to recreate my Docker image and having multiple unpredictable lockups upon docker network create mynetwork calls, adding this parameter finally let me add all of my custom networks without locking up the server.

I hope that nobody else has to deal with this, but if someone comes across this thread, I hope this solves it for you!

Edited by ZooMass
Fix DOCKER_OPTS setting syntax

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.