Docker volume mapping disks


Nem

Recommended Posts

I have set up every user share on my server to use one, and only one, disk. For example, I have a user share Media that is on disk1 and nowhere else.

 

When setting up docker containers, often you're asked to map to a place on the host. If I wanted to pass Media through to the container, it appears I have 2 options: /mnt/disk1/Media or, because the share is accessible by users, I can use /mnt/user/Media

 

In other words, the Media directory shows up in multiple places. Which is the correct host location that I should be using when doing the mapping? Does it make a difference either way?

Link to comment

I recommend user shares except for the appdata folder, which should be /mnt/cache/appdata. There have been reports of apps needing to create symlinks which are not supported by user shares. If you don't have cache then you can just use a data drive.

 

If you use user shares for everything else then you won't have to change anything when you need to change your user share to include more disks, for example.

Link to comment

oh so is /mnt/disk1/Media actually a disk share, even though I've explicitly turned off disk shares in the settings? I thought it just referred to a directory on the drive?

 

If I should use user shares, then the situation gets more complicated, because the Media folder shows up for every user /mnt/user/Media, /mnt/user0/Media, giving me even more options...

Link to comment

oh so is /mnt/disk1/Media actually a disk share, even though I've explicitly turned off disk shares in the settings? I thought it just referred to a directory on the drive?

 

If I should use user shares, then the situation gets more complicated, because the Media folder shows up for every user /mnt/user/Media, /mnt/user0/Media, giving me even more options...

Disabling disk shares only disables exporting them over the network.

 

The big reason to use user shares instead of disk shares for referencing within docker is because of the user0 folder.  The mnt/user folder contains all of the files stored on the array and the cache drive waiting to be moved to the array.  User0 (and in your case disk1) only contains the files stored on the array - not anything on rhe cache drive waiting to be moved

Link to comment

oh so is /mnt/disk1/Media actually a disk share, even though I've explicitly turned off disk shares in the settings? I thought it just referred to a directory on the drive?

 

If I should use user shares, then the situation gets more complicated, because the Media folder shows up for every user /mnt/user/Media, /mnt/user0/Media, giving me even more options...

These are all different views of the same data.

 

/mnt/disk1/Media is the internal path to the Media folder on disk1.  It will also be exposed as the 'Media' User Share if User shares are enabled.  If disk shares are activated it is also going to be visible as the Media folder on the disk1 share.

 

/mnt/user/Media is the internal path to the Media User share.  It can potentially span multiple data disks and the cache disk if so configured.  In the case where it is constrained to disk1 it is effectively the same thing.

 

/mnt/user0/Media is the internal path to the media User share that ignores any files that are on the cache disk. 

 

What you never want to do in any copy/move command is to move files using two different types of views as this can cause data lost.  In such a case you want both the source and target to use the same type of view.

 

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.