← До фільтрів та технологій

← До списку лабораторних по Docker

Docker Лабораторна 29: Права на файли при bind mount

Технологія: Docker

Номер лабораторної: 29 · Рівень: middle

Тема: Права доступу при bind mount (UID/GID)

Повний опис / сценарій лабораторної:

Мета: зрозуміти як працюють права доступу при використанні 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 політику для контейнерів у команді розробників.