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.

  • SpatchyIsOnline@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    ·
    6 months ago

    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.

  • bus_factor@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    6 months ago

    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.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

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