docker容器挂载目录 文件不同步问题

作者:matrix 被围观: 24 次 发布时间:2025-02-28 分类:零零星星 | 无评论 »

如果用nginx docker容器挂载了前端打包后的文件,前端项目重新build之后可能会出现文件不同步的问题

像这样挂载:

docker run --restart=always -d --name suworld-nginx \
-v /root/suworld-admin/dist/:/data/wwwroot/dist/ \
-p 80:80 -p 443:443 nginx

打包生成的dist中文件变化过多,docker文件监听事件会丢失导致容器中挂载的dist目录为空,必须重启容器才能临时解决~

解决方案

每次都要重启容器还是太麻烦了,好在挂载参数delegated 可以控制文件同步模式

docker run --restart=always -d --name suworld-nginx \
-v /root/suworld-admin/dist/:/data/wwwroot/dist/:ro,delegated \
-p 80:80 -p 443:443 nginx

说明:
ro 表示只读

delegated 模式:
主机上的更改会更快地反映到容器中
降低了主机和容器之间的同步开销
适合这种单向更新(主机 -> 容器)的场景

delegated:更激进的缓存策略,性能最好,但可能有稍长的同步延迟
cached:较温和的缓存策略,同步更及时,但性能略低

参考:
https://alvinhu.com/archives/22/

其他文章:
本文固定链接:https://www.hhtjim.com/docker%e5%ae%b9%e5%99%a8%e6%8c%82%e8%bd%bd%e7%9b%ae%e5%bd%95-%e6%96%87%e4%bb%b6%e4%b8%8d%e5%90%8c%e6%ad%a5%e9%97%ae%e9%a2%98.html
matrix
本文章由 matrix 于2025年02月28日发布在零零星星分类下,目前没有通告,你可以至底部留下评论。
转载请注明:docker容器挂载目录 文件不同步问题-HHTjim'S 部落格
关键字:

添加新评论 »

 🙈 😱 😂 😛 😭 😳 😀 😆 👿 😉 😯 😮 😕 😎 😐 😥 😡 😈 💡

插入图片

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!