this post was submitted on 14 Jun 2025
23 points (89.7% liked)

Selfhosted

46653 readers
491 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

So I recently moved most of my docker storage to a second hard drive, called "storage." After a system restart, docker is creating a folder called "storage," forcing the physical drive to be renamed "storage1." How do I prevent this from happening?

I am using Xubuntu.


Edit: As suggested, it was indeed my system spinning up Docker before mounting the internal disk. The solution (should work on most Unix-like systems) was to manually add a line to /etc/fstab as follows: First get the UUID for the problem drive

~$ sudo blkid -s UUID

The output will show your drives and the UUID of each. Then edit the following file:

~$ sudo mousepad /etc/fstab #{or use your choice of editor, i.e. nano}

Add the following line:

/dev/disk/by-uuid/{UUID number copied from blkid output} /destination/of/your/drive ext4 defaults 0 0

Of course replace {UUID number copied from blkid output} and /destination/of/your/drive and set defaults & parameters as needed. These worked for me.

Restart the system and the drive should be forced to mount before docker starts. This seems to be a known issue with certain docker setups.

top 11 comments
sorted by: hot top controversial new old
[–] bus_factor@lemmy.world 12 points 1 day ago* (last edited 1 day ago) (2 children)

It looks like you're relying on media automounting to access the drive, but this is happening too late for Docker.

I would suggest creating the empty folder and explicitly adding the mount to /etc/fstab instead. This should mount early enough, and even if it doesn't it needs an empty folder for the mount point anyway.

Edit: Make sure you reference the partition by UUID, because the device name of USB devices sometimes change after a reboot.

[–] gedaliyah@lemmy.world 1 points 9 hours ago

Thanks - this was the solution. I've updated the post to reflect the solution I used.

Agreed. Needs to be a required mount in fstab. System won't even start then if the mount fails, docker always has access

[–] walden@sub.wetshaving.social 15 points 1 day ago (1 children)

I'm not an expert, but I think we need more information.

[–] gedaliyah@lemmy.world 6 points 1 day ago (1 children)

I'm even less of an expert lol. What information can I provide to help?

[–] towerful@programming.dev 5 points 1 day ago

The commands you used to start the docker containers, or the docker compose contents.
That's what dictates how much "power" a docker container has

[–] SpatchyIsOnline@lemmy.world 12 points 1 day ago (1 children)

It sounds to me like one (or more) of your containers is referencing something on your storage drive, but Docker is loading before your drive gets mounted. When Docker sees that the folder its trying to access doesn't exist, it creates it, blocking your drive from taking that name.

To fix it, you would need to make sure your storage drive is mounted before Docker starts, how you do that is down to you and your particular setup though.

[–] friend_of_satan@lemmy.world 3 points 1 day ago

That's a good theory. This may be able to be investigated further with systemd-analyze plot > boot.svg

[–] i_stole_ur_taco@lemmy.ca 2 points 1 day ago (1 children)

Is Docker starting up and one of the containers mounts a volume to a /storage folder on the host? That could explain it but I’m not super clear on all that’s going on in your system.

Quick test: disable auto start on all your containers and restart and see if it recurs.

[–] gedaliyah@lemmy.world 1 points 1 day ago (1 children)

I believe that's exactly what is happening. I just don't know how to fix it. I could edit the YML files and delete restart: unless-stopped but I want my containers to restart if something goes down unexpectedly

[–] i_stole_ur_taco@lemmy.ca 1 points 1 day ago

So is the issue that your extra drive mounts to /storage, but that happens after Docker has already started and taken over the directory, so the mount fails? Normally I’d expect it to happen in the other order. Is this a weird race condition?

This might be a good thing to run through with ChatGPT- there are probably ways to delay the Docker container start, but maybe there’s a more significant misconfiguration you can deal with.