我可以在只读卷下安装一个可写 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 图像,我要装载的两个卷是:
- /var/www/html/wp-content:包含我的开发代码。只读,因为我不希望任何意外更改。
- /var/www/html/wp-content/uploads:用户上传的文件。必须是可写的。
快速解决方案是将 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 创建一个空目录时,错误消失了,一切都按预期工作。
我正在尝试将可写 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 图像,我要装载的两个卷是:
- /var/www/html/wp-content:包含我的开发代码。只读,因为我不希望任何意外更改。
- /var/www/html/wp-content/uploads:用户上传的文件。必须是可写的。
快速解决方案是将 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 创建一个空目录时,错误消失了,一切都按预期工作。