

0·
4 months agoOr just something as simple as using a SMB/CIFS share for your data. Instead of mounting the share before running your container, you can make Docker do it by specifying it like this:
services:
my-service:
...
volumes:
- my-smb-share:/data:rw
volumes:
my-smb-share:
driver_opts:
type: "smb3"
device: "//mynas/share"
o: "rw,vers=3.1.1,addr=192.168.1.20,username=mbirth,password=supersecret,cache=loose,iocharset=utf8,noperm,hard"
For type
you can use anything you have a mount.<type>
tool available, e.g. on my Raspberry this would be:
$ ls /usr/sbin/mount.*
/usr/sbin/mount.cifs* /usr/sbin/mount.fuse3* /usr/sbin/mount.nilfs2* /usr/sbin/mount.ntfs-3g@ /usr/sbin/mount.ubifs*
/usr/sbin/mount.fuse@ /usr/sbin/mount.lowntfs-3g@ /usr/sbin/mount.ntfs@ /usr/sbin/mount.smb3@
And the o
parameter is everything you would put as options to the mount command (e.g. in the 4th column in /etc/fstab
). In the case of smb3, you can run mount.smb3 --help
to see a list of available options.
Doing it this way, Docker will make sure the share is mounted before running the container. Also, if you move the compose file to a different host, it’ll just work if the share is reachable from that new location.
Same here. It’s probably easier to print out the QR code(s) for your home wifi network(s) on a piece of paper and hand that to guests when they come over…