Фарқи байни ҳаҷм (volume) ва пайванди оддӣ (binding) ба директория дар меҳмонхона чист?
sobes.tech AI
Ҷавоб аз AI
-
Томҳо (Volumes): Жизнен цикли томи ҷудо аз ҳаёти контейнери. Docker нигоҳдории томҳоро дар мошини ҳост идора мекунад. Томаҳо эҷод, пайваст ва нест карда мешаванд, ва маълумоти онҳо ҳатто пас аз боздошт ё нест кардани контейнер нигоҳ дошта мешаванд. Онҳо барои нигоҳдории доимии маълумот, базаҳои додаҳо ё маълумоти умумӣ байни контейнериҳо комиланд.
-
Пайвастҳои мустақим ба директория дар ҳост (Bind Mounts): мустақиман директория ё файл дар мошини ҳостро бо директория ё файл дар дохили контейнери пайваст мекунанд. Docker нигоҳдории маълумотро мустақиман идора намекунад, балки танҳо нуқтаи пайвастро эҷод мекунад. Таҳрирҳо дар системаи файли контейнери дар ин нуқта ба ҳост ва баръакс нишон дода мешаванд. Онҳоро барои:
- Таҳия: Пайваст кардани коди манбаъ ба контейнер барои нишон додани фаврии тағирот.
- Конфигуратсия: интиқоли файлҳои конфигуратсия аз ҳост ба контейнер.
- Дастрасӣ ба манбаъҳои ҳост: додани дастрасӣ ба файлҳо ё директорияҳои муайян дар ҳост.
Асосӣ фарқиятҳо:
| Хусусият | Томи (Volume) | Пайваст дар ҳост (Bind Mount) |
|---|---|---|
| Идоракунӣ | Docker пурра идора мекунад нигоҳдорӣ | Docker танҳо нуқтаи пайвастро эҷод мекунад |
| Ҳаёти цикл | ҷудо аз контейнер | бо мавҷудияти директория/файл дар ҳост пайваст аст |
| Кунҷоиш | Одатан оптимизатсияшуда барои I/O | вобаста ба иҷроишии системаи файли ҳост |
| Транспортибошӣ | бештар тавассути Dockerfile/Compose | камтар транспортибош, вобаста ба сохтори ҳост |
| Изоляция | беҳтар аз ҳост изоляция медиҳад | камтар аз системаи файли ҳост изолатсияшуда |
Маслиҳат барои истифодаи том дар Dockerfile:
# Истифодаи том
VOLUME /app/data
Маслиҳат барои истифодаи пайваст дар вақти оғоз кардани контейнер:
# Пайваст кардани директория
docker run -v /path/on/host:/path/in/container my_image
Маслиҳат барои истифодаи том дар вақти оғоз кардани контейнер:
# Истифодаи томи номгузоришуда
docker run -v myvolume:/path/in/container my_image