Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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_Docker Compose - Fatal编程技术网

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

我可以在只读卷下装载一个可写的Docker卷吗?,docker,docker-compose,Docker,Docker Compose,我试图将可写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"

我试图将可写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:用户上传的文件。必须是可写的
快速的解决方案是将上传转移到其他地方,但我更喜欢Docker解决方案

my 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创建一个空目录时,错误消失了,一切都正常工作