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