Я запускаю некоторые сервисы внутри контейнеров Docker LXC на моем сервере, и я начинаю делать с ними серьезные вещи.
Одна вещь, которая мне не ясна - это то, как пользовательские разрешения работают внутри и снаружи контейнера. Если, например, я запускаю MySQL в контейнере и для его каталога данных установлено значение /data
, то есть том Docker, как разрешения внутри и снаружи контейнера влияют на политики доступа?
Очевидно, что идея состоит в том, чтобы запустить MySQL как своего собственного пользователя в контейнере (т.е. mysql:mysql
) и дать ему права на чтение и запись в этот каталог. Я предполагаю, что это было бы довольно просто, просто с chmod
помощью каталога и т. Д. Но как это работает вне контейнера? Теперь, когда у меня есть общий том Docker под названием «данные», как мне управлять доступом к нему?
Я специально ищу возможность запустить непривилегированного пользователя вне контейнера Docker, который будет периодически получать доступ к общему объему MySQL и делать резервные копии данных.
Как настроить разрешения, пользователей и группы, чтобы конкретный пользователь на хосте мог читать / записывать файлы и папки на общем томе Docker?
root
Кстати, можно также запускать непривилегированные контейнеры . Важно то, что сопоставление для пользователей определено.
docker
поддерживается) контейнер LXC можно запускать как непривилегированный пользователь. В противном случаеroot
пользователь внутри контейнера может вырваться наружу, если контейнер неправильно настроен. Т.е.root
на хосте находитсяroot
в контейнере в привилегированном контейнере LXC.