我想创建一个zfs docker我需要一点帮助,我在ubuntu上工作,我在docker中为我的环境创建了3个容器。需要使用具有数据冗余的此文件系统。
答案 0 :(得分:1)
我没有明确的答案,但我确实知道为了登上;
容器需要 CAP_SYS_ADMIN
,可能 CAP_MKNOD
。
您可以使用 --cap-add=""
在Docker 1.2+中明确指定
(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
来自上方)
我还会阅读使用GlusterFS或this或使用FUSE的任何内容成功执行此操作的人,因为我怀疑他们会以类似的方式受到限制。
这个答案不是超级特定的,但你的问题也不是:)
编辑: 这个答案假设OP询问如何使用带有ZFS的docker(而不是AUFS)。目前,Docker's ZFS driver支持仍在进行中。为了回答OP的问题,我想说就像通常用其他任何FS一样构建容器。
答案 1 :(得分:0)
弗洛里安,
您是否在询问如何使用ZFS作为后端创建docker容器?
在这种情况下,有这个泊坞叉。但我不确定这是否与另一个系统上的非zfs docker主机兼容。
如果您只需要ZFS,就像COW和快照这样的功能只需创建一个数据集并在其中创建容器
zfs create zfs_pool_name/docker_container_name
jRadds接近我的头,但对我来说这也是一个很好的起点;)
啊,现在我明白了。 Linux内核功能用于微调访问,而不是使用chroot来限制系统受损的程度。希望有所帮助