Linux 宿主机挂载 s3 对象存储,docker 内没有生效问题

更新日期: 2025-04-12 阅读次数: 283 字数: 462 分类: docker

❓ 诡异的现象

Linux 宿主机上通过 mount 挂载了一个 s3 对象存储(参考:s3fs-fuse 将 Linode Object Storage 挂载到 Ubuntu Server 本地文件系统)。并且修改了 /etc/fstab 文件。

但是,在 docker 中,对应的目录还是显示的没有挂载前的目录结构和文件内容。

👌 解决方法

docker 容器重启即可。例如,命令

docker compose restart xxx

🗑 卸载

如果是卸载挂载盘,参考前文(🔗 ubuntu server 下使用 /etc/fstab 挂载的 s3 存储目录,如何卸载掉)也是同样的需要 restart docker 容器才能在容器生效。

需要注意,一定不要忘记使用

df -h

命令查看是否成功卸载了,因为会遇到卸载不成功的情况,而且没有任何错误提示。😅

💡 分析

可以把 docker 容器想象成一个跟宿主机类似的系统。宿主机在没有使用 mount 命令时,也是无法挂载生效的。如果只修改了 fstab 配置文件,不执行 mount 命令,宿主机也是需要重启系统才能看到挂载的 s3 object storage。

docker 中执行 mount 命令太长,不方便操作。还不如 restart 容器方便。

还是之前的感觉😂,用了 docker 很多地方是反直觉的,很容易漏掉操作。

Linux 运维经验喜 +1 ✌️

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式