Монтировать том чтения-записи внутри тома только для чтения - PullRequest
0 голосов
/ 14 октября 2019

У меня есть два тома: repo и cache. Я хочу смонтировать repo только для чтения в /repo и хочу смонтировать cache в режиме чтения-записи в /repo/cache. Когда приложение пишет в /repo/cache, я ожидаю, что записи перейдут на том cache, в то время как том /repo не изменится;однако, когда я запускаю docker run -it -v repo:/repo:ro -v cache:/repo/cache alpine, я получаю docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"rootfs_linux.go:58: mounting \\\"/var/lib/docker/volumes/cache/_data\\\" to rootfs \\\"/var/lib/docker/overlay2/9f1dfff7f943921fd2da278d357bec88007d7fcb41eb9bc34fc0e728c459ad73/merged\\\" at \\\"/var/lib/docker/overlay2/9f1dfff7f943921fd2da278d357bec88007d7fcb41eb9bc34fc0e728c459ad73/merged/repo/cache\\\" caused \\\"mkdir /var/lib/docker/overlay2/9f1dfff7f943921fd2da278d357bec88007d7fcb41eb9bc34fc0e728c459ad73/merged/repo/cache: read-only file system\\\"\"": unknown.

Есть ли лучший способ достичь этого результата? Мне нужно, чтобы том repo был ro, чтобы приложение не записывало в него, и мне нужно, чтобы cache был доступен для записи и монтирования "внутри" /repo, потому что именно там приложение ожидает его (и яне могу изменить приложение, чтобы искать в другом месте).

...