s3安装在容器内。 如何把它暴露给主机?

我一直玩的可能性,有一个容器,安装一个S3桶,并暴露在外面。

我使用https://github.com/FindHotel/aws-s3-mount将s3桶安装在容器内。 挂载使用FUSE。

我找不到从主机到达s3 mount的方法。 可能吗? 任何其他的想法来实现相同的目标?

谢谢!

我用glusterFS做类似的事情,它需要更高的容器权限,但它是可行的。 简而言之,docker命令是:

docker run --cap-add SYS_ADMIN --device fuse -v host_mount_dir:container_mount_dir:shared IMAGE COMMAND 

如果你得到“Path / foo挂载在/ foo,但不是共享挂载…”的错误,那么你的docker守护进程将以不同于systemd的挂载名称空间运行。 有一个简单的方法可以使它在同一个命名空间中:

 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绑定的目录中。 小心龙;)