При запуске контейнера и указании тома вы можете при желании добавить третье поле, которое представляет собой список параметров, разделенных запятыми, например rw
.
docker run -v /some-host/path:/some-container/path:rw
Эти же параметры применимы в docker.compose.yml
services:
myService:
image: some/image
volumes:
- /some-host/path:/some-container/path:rw
Я думал, что указание rw
будет означать, что контейнер сможет читать и записывать в этот каталог (независимо от пользователя).Вопреки моему убеждению, когда каталог хоста не существует, docker создает его как drwxr-xr-x 2 root root
независимо от того, что я указываю.Приложение в контейнере не работает на root
, поэтому оно пытается записать на подключенный диск и получить Permission denied
.
Я копал документы докера, даже нашел это Проблема github , описывающая ту же проблему, но не может найти ничего определенного, объясняющего ожидаемое поведение.
Итак, что конкретно означает rw
(чтение / запись), если указано в качестве третьего вариантадля привязанных подключенных каталогов?