docker-compose 文件中 driver_opts 中的 type/o/device 标志的含义是什么?

问题描述 投票:0回答:2

我正在开发一个项目,我必须使用 Costum 卷等创建 Costum docker 容器。 因为我必须使用一些

driver_opts
,我想知道,标志是什么

type: XXX
o: XXX
device: XXX

在 docker-compose 文件中的实际含义是。我看到所有人都在使用它们,但是 docker 手册和我迄今为止找到的所有资源都无法提供令人满意的答案。我什至找不到可以传递给所有这些标志的参数的简单列表。

提前致谢!

docker docker-compose persistent-volumes
2个回答
4
投票

来自

man mount

mount [-fnrsvw] [-t fstype] [-o options] device mountpoint

总结一下:

type: AAA
o: BBB
device: CCC

(或多或少*)相当于:

mount -t AAA -o BBB CCC <docker_generated_mountpoint>

* - 有一些解析https://github.com/moby/moby/blob/8d193d81af9cbbe800475d4bb8c529d67a6d8f14/volume/local/local_unix.go#L122

我什至找不到可以传递给所有这些标志的参数的简单列表。

参数取决于您使用的特定驱动程序。有一些共享选项(或者可能在每个驱动程序中实现的选项),并且有驱动程序特定的选项。请参阅驱动程序文档,即

man mount.cifs
man mount.nfs
等不同


1
投票

来自docker-compose driver_opts

driver_opts 将选项列表指定为键值对,以传递给该卷的驱动程序。这些选项取决于驱动程序。

volumes:
  example:
    driver_opts:
      type: "nfs"
      o: "addr=10.40.0.199,nolock,soft,rw"
      device: ":/docker/example"

事实上,这些选项应该与您使用

docker run
时的选项完全相同,请参阅特定于驱动程序的选项

$ docker volume create --driver local \
    --opt type=nfs \
    --opt o=addr=192.168.1.1,rw \
    --opt device=:/path/to/dir \
    foo

您应该在该官方文档中找到其他类型驱动程序的其他选项,例如

tmpfs
btrfs
等。

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

因此,这些选项确实不同,具体取决于您选择的驱动程序类型。

© www.soinside.com 2019 - 2024. All rights reserved.