我可以在只读卷下安装一个可写 Docker 卷吗?

Can I have a writable Docker volume mounted under a read-only volume?

我正在尝试将可写 Docker 卷挂载为只读卷的子卷,但出现此错误:

ERROR: for wordpress  rpc error: code = 2 desc = "oci runtime error: 
could not synchronise with container process: mkdir /mnt/sda1/var/lib
/docker/aufs/mnt/.../var/www/html/wp-content/uploads: read-only file 
system"

我正在使用 WordPress 图像,我要装载的两个卷是:

快速解决方案是将 uploads 移至其他位置,但我更喜欢 Docker 解决方案。

我的docker-compose.yml的相关位:

volumes:
  uploads:
    driver: local

services:
  wordpress:
    volumes:
      - /dev/workspace/wp-content/:/var/www/html/wp-content/
      - uploads:/var/www/html/wp-content/uploads 

是的,总的来说,你可以!这是一个只读父路径

的示例
-v $DIR/htdocs:/var/www/html:ro

还有一个坐骑

-v $DIR/logs:/var/www/html/app/cache:rw

查看更多

回答我自己的问题:挂载点必须存在于只读卷中,即使它不会被使用。 Docker 试图在挂载前在 RO 卷中创建 uploads 目录。

当我在 /dev/workspace/wp-content/uploads 创建一个空目录时,错误消失了,一切都按预期工作。