-2

我想创建一个 zfs docker 我需要一点帮助,我在 ubuntu 上工作,我在 docker 中为我的环境创建了 3 个容器。需要使用这个具有数据冗余的文件系统。

4

2 回答 2

2

我没有明确的答案,但我确实知道这是为了安装;

  • 容器将需要CAP_SYS_ADMIN,也许CAP_MKNOD

    您可以在 Docker 1.2+ 中使用 (如果您知道自己需要什么,可能会让您了解可以做什么。)--cap-add=""
    man capabilities

    或者简单地说:( --priveleged=True不太明确,不太安全)

    docker run --cap-add="CAP_SYS_ADMIN" --cap-add="CAP_MKNOD" -i -t -v /mount/from/host:/container/mount/point --name="MYCONTAINER" repo/name /bin/bash

  • SE Linux 安全上下文:

    让您的数据量知道 SELINUX 安全类型(允许写入

    到外部卷)。

  • chcon -Rt svirt_sandbox_file_t /var/db

    /var/db您的挂载点在哪里(/mount/from/host例如,从上面)

我还会读到那些使用GlusterFSthis或任何使用 FUSE 成功完成相同操作的人,因为我怀疑他们会以类似的方式受到限制。

这个答案不是超级具体的,但你的问题也不是:)

编辑:这个答案假设 OP 询问如何将 docker 与 ZFS(而不是 AUFS)一起使用。Docker 的 ZFS 驱动程序支持目前仍在进行中。要回答 OP 的问题,我想说的是像通常使用任何其他 FS 一样构建容器。

于 2014-09-02T04:05:16.147 回答
0

弗洛里安,

  1. 您是在问如何创建一个以 ZFS 作为后端的 docker 容器吗?

    在这种情况下,有这个 docker fork。但我不确定这是否与另一个系统上的非 zfs docker 主机兼容。

    github 上的 docker-zfs

  2. 如果您只需要 ZFS 的 COW 和快照等功能,只需创建一个数据集并在其中创建容器

    zfs create zfs_pool_name/docker_container_name

  3. jRadds 方法就在我头上飞过,但这对我来说也是一个很好的起点;)

    啊,现在我明白了。Linux 内核功能旨在微调访问,而不是使用 chroot 来限制系统受到损害的程度。

    CAP_SYS_ADMIN:新的根

    希望有帮助

于 2014-09-09T07:14:25.933 回答