如何指定共享 Docker 卷的大小?

How to specify the size of a shared Docker volume?

如果我想创建一个 ext4 类型的数据卷,比方说 15GB,我该怎么做?

docker volume create --name vol 只是创建一个空卷。

docker volume create --opt type=ext4 --name vol 创建了一个 ext4 卷,但我无法指定它的大小,因为根据 ext4 的挂载选项,ext4 不支持它。

根据 documentation

使用 size 创建 docker 卷时可以指定大小限制

这是文档中提供的示例命令,用于指定相同的内容

docker volume create -d flocker -o size=20GB my-named-volume

更新 来自 git repository 的更多示例:

The built-in local driver on Linux accepts options similar to the linux mount command:
$ docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=100m,uid=1000
Another example:
$ docker volume create --driver local --opt type=btrfs --opt device=/dev/sda2

使用 Docker Compose 我可以通过以下方式完成:

volumes: 
  tmpfs: 
    # For details, see:
    # https://docs.docker.com/engine/reference/commandline/volume_create/#driver-specific-options
    driver: local
    driver_opts:
      o: "size=$TMPFS_SIZE"
      device: tmpfs
      type: tmpfs

根据 Rao 的回答,他们的 docs.docker 页面上现在有一些更新的文档和示例:

此卷创建示例取自此页面:

$ docker volume create --driver local \
--opt type=tmpfs \
--opt device=tmpfs \
--opt o=size=100m,uid=1000 \
foo