❓ 诡异的现象
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 聊聊, 查看更多联系方式