我一直在玩弄容器安装一个s3水桶并将其暴露在外面。
我使用https://github.com/FindHotel/aws-s3-mount成功地将s3存储桶安装在容器内。 mount正在使用FUSE。
我无法找到从主机到达s3 mount的方法。可能吗?还有其他想法可以达到同样的目标吗?
谢谢!
答案 0 :(得分:6)
我使用glusterFS做类似的事情,它需要更高的容器权限,但它是可行的。简而言之,docker命令是:
docker run --cap-add SYS_ADMIN --device fuse -v host_mount_dir:container_mount_dir:shared IMAGE COMMAND
如果你得到类似&#34的错误; Path / foo挂载在/ foo上,但它不是共享挂载..."然后你的docker守护进程运行在与systemd不同的mount命名空间中。有一种简单的方法可以在同一名称空间中使用它:
mkdir -p /etc/systemd/system/docker.service.d/
cat <<EOF > /etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf
[Service]
MountFlags=shared
EOF
然后重启docker守护进程。 TL; DR:挂载将在主机上可见,如果您将其挂载到由-v绑定的目录中。小心龙;)