Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker中装入两个嵌套的只读装入点_Docker_Mount_Readonly - Fatal编程技术网

在docker中装入两个嵌套的只读装入点

在docker中装入两个嵌套的只读装入点,docker,mount,readonly,Docker,Mount,Readonly,我有一个docker compose文件运行PHP并以嵌套方式装载一些卷。它已经工作两年了。最近我又尝试了一次,但失败了,至少在WSL2的Docker上是这样。以下是docker compose文件中装入的卷 volumes: - ../src:/var/www/html:ro - ./userData:/var/www/html/userData:ro 请注意,第二个卷安装在第一个卷内 Docker未能装载第二个目录,声称无法更新只读文件系统。我可以从第一个挂载中删除:ro,它可

我有一个
docker compose
文件运行PHP并以嵌套方式装载一些卷。它已经工作两年了。最近我又尝试了一次,但失败了,至少在WSL2的Docker上是这样。以下是docker compose文件中装入的卷

volumes:
   - ../src:/var/www/html:ro
   - ./userData:/var/www/html/userData:ro
请注意,第二个卷安装在第一个卷内

Docker未能装载第二个目录,声称无法更新只读文件系统。我可以从第一个挂载中删除
:ro
,它可以工作,但是-我确实希望两个挂载都是只读的,并且我希望保持外部文件系统(使用
src
userData
)不变


如何使此装载行为重新工作?

您不能这样做。嵌套堆需要在文件系统上创建目录

因此,您的解决方案是:

  • -../src:/var/www/html:ro禁用只读
  • 创建链接
    ln-s./userData../src/userData
  • 不要使用嵌套挂载,这是一种不好的做法。所以你的容器需要重新设计
参考资料: