我试图在一个只读卷的孩子的孩子中安装一个可写的码头音量,但是我得到了这个错误:
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:用户上传的文件。必须是可写的。
快速解决方案是在其他地方移动上传,但是我更喜欢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
回答我自己的问题:即使不使用它,安装点也必须存在。Docker试图在安装之前在RO卷中创建上传目录。
当我在/dev/dev/workspace/wp-content/uploads 上创建一个空目录时,错误消失了,一切都按预期工作。
是的,通常,您可以!这是一个只读父路径
的示例-v $DIR/htdocs:/var/www/html:ro
和另一个坐骑
-v $DIR/logs:/var/www/html/app/cache:rw
请参阅更多https://stackoverflow.com/a/37730878/4986182