我有一个docker-compose
文件运行 PHP 并以嵌套方式安装一些卷。它已经工作了两年了。最近我又尝试了一次,但失败了,至少在 Docker for WSL 2 上是这样。以下是 docker-compose 文件中挂载的卷。
volumes:
- ../src:/var/www/html:ro
- ./userData:/var/www/html/userData:ro
请注意,第二个卷安装在第一个卷内。
Docker 无法挂载第二个目录,声称它无法更新只读文件系统。我可以删除:ro
从第一次安装开始,它就可以工作了,但是 - 我真的希望两个安装都是只读的,并且我想保留外部文件系统(与src
and userData
)就这样。
我怎样才能让这种安装行为再次发挥作用?
你不能做到。嵌套堆需要在文件系统上创建目录。
所以你的解决方案是:
- 禁用只读
- ../src:/var/www/html:ro
- 创建链接
ln -s ./userData ../src/userData
- 不要使用嵌套安装,这是一个不好的做法。所以你的容器需要重新设计。
参考:https://github.com/moby/moby/issues/26051 https://github.com/moby/moby/issues/26051
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)