← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: зрозуміти як працюють права доступу при використанні bind mount. Крок 1. Створити локальну директорію. Команда: mkdir -p ~/lab29-data && cd ~/lab29-data Крок 2. Створити файл від поточного користувача. Команда: echo "owner file" > owner.txt Пояснення: власником буде твій локальний uid. Крок 3. Подивитися uid і gid файлу. Команда: ls -ln Пояснення: запиши значення uid і gid. Крок 4. Запустити контейнер busybox з bind mount цієї директорії. Команда: docker run --rm -it -v ~/lab29-data:/data busybox sh Крок 5. Всередині контейнера подивитися власника файлу. Команда з контейнера: ls -ln /data Пояснення: цифри uid і gid збігаються але можуть відповідати іншому користувачу у контейнері. Крок 6. Спробувати створити новий файл у /data. Команда: echo "from container" > /data/container.txt Пояснення: якщо права дозволяють файл успішно створиться. Крок 7. Вийти і перевірити файли на хості. Команда: ls -ln ~/lab29-data Пояснення: подивися який uid і gid у нового файлу. Крок 8. Спробувати запускавати контейнер під іншим uid. Пояснення: використай параметр --user 1001:1001 і повтори створення файлу. Крок 9. Оціни ризики неправильно налаштованих прав при bind mount. Пояснення: додаток може не бачити або не мати права змінювати конфіг або логи. Крок 10. Міні звіт. Завдання: опиши як би ти організував uid/gid політику для контейнерів у команді розробників.