Способи оплати Abuse

Монтаж папок у Docker

12.09.2023, 23:41

Монтування папок (або файлових систем) означає зв'язування або під'єднання файлової системи (папки або директорії) з певним місцем в іншій файловій системі. Це дає змогу зробити вміст однієї папки доступним усередині іншої папки або навіть в іншому місці в системі.

Що означає монтування?

Монтування папок є важливою функцією операційних систем і часто використовується в контексті контейнеризації, як-от Docker, або віртуалізації, щоб забезпечити доступ до файлів і даних між хост-машиною та контейнерами або віртуальними машинами.

Основна ідея монтування папок полягає в тому, щоб розділити область фізичного зберігання (наприклад, диска або файлової системи) на різні логічні області для організації та доступу до файлів. Це дає змогу контролювати і змінювати вміст файлової системи, не зачіпаючи інші файлові системи або директорії.

Монтування папок часто використовується для обміну даними між хост-машиною і контейнерами, оновлення коду під час розроблення застосунків, зберігання баз даних або налаштування конфігураційних файлів.

Для чого необхідне монтування папок?

Монтування папок у Docker Compose дає змогу обмінюватися даними між хост-машиною та контейнерами, що надає кілька переваг і можливостей:

  1. Збереження даних: використовуючи монтування папок, ви можете зберігати дані, створені або змінені всередині контейнерів, на хост машині. Це важливо для збереження постійних даних, наприклад баз даних або файлових систем, які можуть бути відновлені після перезапуску контейнерів.
  2. Оновлення коду: якщо ви розробляєте застосунок і хочете миттєво бачити зміни коду без необхідності перезбірки образу і перезапуску контейнера, монтування папок є чудовим способом. Ви можете монтувати папку з вихідним кодом на хост-машині всередину контейнера, і при зміні файлів коду на хості, вони автоматично відображаються всередині контейнера без необхідності його перезапуску.
  3. Поділ конфігурацій: ви також можете використовувати монтування папок для поділу конфігураційних файлів між хост-машиною і контейнерами.

Як монтувати?

У Docker Compose ви можете монтувати папки хост машини в контейнери за допомогою опції `volumes`. Ось приклад використання volumes у файлі docker-compose.yml:

yaml 
version: '3'
services:
  app:
    image: nginx
    volumes:
      - /path_to_host_folder:/path_to_folder_volume

У наведеному прикладі"/path_to_host_folder" - це шлях до папки на вашій хостовій машині, яку ви хочете монтувати в контейнері. `/path_to_folder_volume`- це шлях до папки всередині контейнера, куди ви хочете монтувати папку хоста.

Також ви можете використовувати відносні шляхи замість абсолютних, вказуючи шлях щодо місця розташування файлу `docker-compose.yml`. У цьому випадку, використовуйте `./` для вказівки поточної директорії.

yaml
version: '3'
services:
  app:
    image: nginx
    volumes:
      - ./host's_folder:/path_to_folder_volume

Ви також можете вказувати кілька монтованих папок, просто додаючи їх до списку `volumes`.

yaml
version: '3'
services:
  app:
    image: nginx
    volumes: