I am working on a project where I have to create costum docker containers with costum volumes etc.
As I have to use some driver_opts
, I am wondering, what the flags
type: XXX
o: XXX
device: XXX
in a docker-compose file actually mean. I see all the people using them, but the docker manuals and all the resources I found so far couldn't provide satisfying answers. I cannot even find a simple list of what arguments you could pass to all theses flags.
thanks in advance!
CodePudding user response:
From man mount
:
mount [-fnrsvw] [-t fstype] [-o options] device mountpoint
To summarize:
type: AAA
o: BBB
device: CCC
is (more or less*) equivalent to: mount -t AAA -o BBB CCC <docker_generated_mountpoint>
* - there is some parsing https://github.com/moby/moby/blob/8d193d81af9cbbe800475d4bb8c529d67a6d8f14/volume/local/local_unix.go#L122
I cannot even find a simple list of what arguments you could pass to all theses flags.
This depends on the particular driver you are using. man mount.cifs
differs from man mount.nfs
, etc.
CodePudding user response:
From docker-compose driver_opts:
driver_opts specifies a list of options as key-value pairs to pass to the driver for this volume. Those options are driver-dependent.
volumes: example: driver_opts: type: "nfs" o: "addr=10.40.0.199,nolock,soft,rw" device: ":/docker/example"
In fact, these opts should exactly same with the one when you use docker run
, see Driver-specific options:
$ docker volume create --driver local \
--opt type=nfs \
--opt o=addr=192.168.1.1,rw \
--opt device=:/path/to/dir \
foo
You should in that official document find other opts for other kinds of driver like tmpfs
, btrfs
etc.
tmpfs:
$ docker volume create --driver local \
--opt type=tmpfs \
--opt device=tmpfs \
--opt o=size=100m,uid=1000 \
foo
btrfs:
docker volume create --driver local \
--opt type=btrfs \
--opt device=/dev/sda2 \
foo
So, these options is really different depends on the driver type you choose.