[一定注意]在 MacBook 上使用了 /var/data/... 这种“伪路径”,它其实被 macOS 透明重写成 /private/var/data,再被 Docker Desktop 映射到容器时权限/安全层被拒。

jack 2025-12-12 09:44 | |
实践:https://jackxiang.com/post/13175/ 发现的问题。解决如下:

问题:
确定是目录问题: docker logs 2bb9832099fb metaPropertiesEnsemble=MetaPropertiesEnsemble(metadataLogDir=Optional.empty, dirs={/var/data/logs/kafka: EMPTY}) Formatting /var/data/logs/kafka with metadata.version 3.7-IV4. Error while writing meta.properties file /var/data/logs/kafka: /var/data/logs/kafka/bootstrap.checkpoint.tmp Creating SCRAM user: admin 目录目前如下: ls -ld /var/data/logs/kafka drwxrwxrwx@ 2 1000 1000 64 12月 11 17:34 /var/data/logs/kafka 不知道为何写入不进去,还是macbook下面的/var/data 是软链接?


回复:
在 MacBook 上使用了 /var/data/... 这种“伪路径”,它其实被 macOS 透明重写成 /private/var/data,再被 Docker Desktop 映射到容器时权限/安全层被拒。
你遇到的这个问题 100% 是 macOS 的挂载点权限机制导致的,和 Kafka、脚本、docker-compose 完全无关。
核心结论:
这是因为你在 MacBook 上使用了 /var/data/... 这种“伪路径”,它其实被 macOS 透明重写成 /private/var/data,再被 Docker Desktop 映射到容器时权限/安全层被拒。
Docker Desktop 在 macOS 上对所有 根路径 /var/ 有非常严格的限制。
这类目录:
/var
/usr
/bin
/sbin
/etc
被 macOS 视作 系统保护目录(SIP 保护),大部分情况下 不能作为 Docker volume 挂载点。

作者:jack@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/13181/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jack 编辑于2025-12-12 09:47
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]