从docker容器访问主机zfs
是否有办法从docker中访问主机zfs快照 我正在尝试使用zfs快照和发送/接收,在基于docker的服务器集群上运行一些自定义备份。为了坚持当前的设置,我希望备份服务也在docker容器中运行。我很难弄清楚是否有办法从docker容器中访问管理级别的hosts文件系统从docker容器访问主机zfs,docker,zfs,Docker,Zfs,是否有办法从docker中访问主机zfs快照 我正在尝试使用zfs快照和发送/接收,在基于docker的服务器集群上运行一些自定义备份。为了坚持当前的设置,我希望备份服务也在docker容器中运行。我很难弄清楚是否有办法从docker容器中访问管理级别的hosts文件系统 我基本上需要一种从容器中运行zfs list、zfs snap和zfs send的方法。我的直觉告诉我“不”,但也许有一个聪明的方法,通过一些挂载选项和特权魔法不幸的是,没有办法做到这一点。我们自己也遇到过同样的问题,我们解决
我基本上需要一种从容器中运行
zfs list
、zfs snap
和zfs send
的方法。我的直觉告诉我“不”,但也许有一个聪明的方法,通过一些挂载选项和特权魔法不幸的是,没有办法做到这一点。我们自己也遇到过同样的问题,我们解决这个问题的方法是创建一个无容器服务,容器可以向它发出命令,无容器服务可以代表它们发出ZFS命令并返回结果。这不是一个完美的解决方案,但(至少对我们来说)总比没有好。我使用rancherOS 1.3.0和zfs on/mnt
我从以下内容开始:
privileged: true
pid: host
volumes:
- /mnt:/mnt:shared
使用此confis,我可以为自己克隆快照,它与我一起工作:
- 特权模式下的docker容器
- 映射到容器中的zfs设备(--device/dev/zfs)
- 容器中安装了zfsutils linux
znapzend也可以作为docker容器映像提供。它需要是特权容器,具体取决于权限
docker run -d --name znapzend --device /dev/zfs --privileged \
oetiker/znapzend:master
要配置znapzend,请在交互模式下运行:
docker exec -it znapzend /bin/sh
$ znapzendzetup create ...
# After exiting, restart znapzend container or send the HUP signal to
# reload config
默认情况下,容器中的znapzend使用--logto/dev/stdout运行。如果要添加不同的参数,请在命令末尾覆盖它们:
docker run --name znapzend --device /dev/zfs --privileged \
oetiker/znapzend:master znapzend --logto /dev/stdout --runonce --debug
确保不要在容器中守护znapzend,因为它会立即退出容器。---剪断---