[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/docker-volume-mount":3,"mdc-wn7ik-key":574,"mdc-k6r1o6-key":585,"mdc--cy23b4-key":609,"mdc--z7poa7-key":626,"mdc-x1o4ri-key":634,"mdc--zwgtf-key":657,"mdc-5xzsyk-key":681,"mdc-d03yxd-key":711,"mdc--f646lz-key":735,"related-/guides/linux/docker-volume-create,/guides/linux/docker-compose-volume":759},{"id":4,"title":5,"appliesTo":6,"author":10,"body":11,"canonical":509,"code":509,"createdAt":510,"description":511,"difficulty":512,"draft":513,"estimatedTime":514,"extension":515,"faq":516,"howToSteps":529,"howToTotalTime":545,"image":509,"keywords":546,"locale":555,"meta":556,"navigation":557,"path":558,"platform":559,"related":560,"section":563,"seo":564,"severity":509,"stem":565,"summary":566,"tags":567,"twitterCreator":509,"twitterSite":509,"type":572,"updatedAt":510,"__hash__":573},"content_ru/guides/linux/docker-volume-mount.md","Полный гайд по монтированию томов Docker для хранения данных",[7,8,9],"Docker 20.10+","Ubuntu 22.04 LTS","Debian 11","FixPedia Team",{"type":12,"value":13,"toc":491},"minimark",[14,19,23,27,66,69,73,76,104,119,123,126,151,178,181,193,196,200,203,217,223,226,258,261,289,293,296,317,320,345,351,355,358,374,381,385,414,418,423,439,443,455,459,471,475,487],[15,16,18],"h2",{"id":17},"введение","Введение",[20,21,22],"p",{},"Монтирование томов Docker — это важный навык для обеспечения долговременного хранения данных в контейнерных средах. В этом гайде вы узнаете, как создать именованный том, подключить его к контейнеру и убедиться, что данные сохраняются даже после перезапуска или удаления контейнера. После выполнения инструкций у вас будет работоспособный том, готовый для хранения конфигураций, баз данных или любых других важных файлов.",[15,24,26],{"id":25},"требования","Требования",[28,29,30,44,53],"ul",{},[31,32,33,34,38,39,43],"li",{},"Docker версии ",[35,36,37],"strong",{},"20.10"," или выше (",[40,41,42],"code",{},"docker --version",").",[31,45,46,47,49,50,52],{},"Операционная система на базе Linux, например ",[35,48,8],{}," или ",[35,51,9],{},".",[31,54,55,56,59,60,59,63,43],{},"Базовые знания работы с Docker (",[40,57,58],{},"docker run",", ",[40,61,62],{},"docker ps",[40,64,65],{},"docker volume",[20,67,68],{},"Если Docker не установлен, выполните установку в соответствии с документацией вашей ОС.",[15,70,72],{"id":71},"шаг-1-создать-том-docker","Шаг 1: Создать том Docker",[20,74,75],{},"Сначала создайте именованный том, который будет использоваться контейнером.",[77,78,83],"pre",{"className":79,"code":80,"language":81,"meta":82,"style":82},"language-bash shiki shiki-themes github-light github-dark","docker volume create data_store\n","bash","",[40,84,85],{"__ignoreMap":82},[86,87,90,94,98,101],"span",{"class":88,"line":89},"line",1,[86,91,93],{"class":92},"sScJk","docker",[86,95,97],{"class":96},"sZZnC"," volume",[86,99,100],{"class":96}," create",[86,102,103],{"class":96}," data_store\n",[20,105,106,107,110,111,114,115,118],{},"Команда ",[40,108,109],{},"docker volume create"," генерирует том с указанным именем (",[40,112,113],{},"data_store",") в драйвере по умолчанию (обычно ",[40,116,117],{},"local","). Тома существуют вне файловой системы хоста, что упрощает управление данными.",[15,120,122],{"id":121},"шаг-2-запустить-контейнер-с-смонтированным-томом","Шаг 2: Запустить контейнер с смонтированным томом",[20,124,125],{},"Запустите контейнер, указав том в качестве точки монтирования.",[77,127,129],{"className":79,"code":128,"language":81,"meta":82,"style":82},"docker run -d -v data_store:/var/lib/app nginx\n",[40,130,131],{"__ignoreMap":82},[86,132,133,135,138,142,145,148],{"class":88,"line":89},[86,134,93],{"class":92},[86,136,137],{"class":96}," run",[86,139,141],{"class":140},"sj4cs"," -d",[86,143,144],{"class":140}," -v",[86,146,147],{"class":96}," data_store:/var/lib/app",[86,149,150],{"class":96}," nginx\n",[28,152,153,159,172],{},[31,154,155,158],{},[40,156,157],{},"-d"," запускает контейнер в фоновом режиме.",[31,160,161,164,165,167,168,171],{},[40,162,163],{},"-v data_store:/var/lib/app"," монтирует том ",[40,166,113],{}," в каталог ",[40,169,170],{},"/var/lib/app"," внутри контейнера.",[31,173,174,177],{},[40,175,176],{},"nginx"," — пример образа; замените на нужный вам.",[20,179,180],{},"Проверьте, что контейнер запущен:",[77,182,184],{"className":79,"code":183,"language":81,"meta":82,"style":82},"docker ps\n",[40,185,186],{"__ignoreMap":82},[86,187,188,190],{"class":88,"line":89},[86,189,93],{"class":92},[86,191,192],{"class":96}," ps\n",[194,195],"in-article-ad",{},[15,197,199],{"id":198},"шаг-3-проверить-монтирование-тома","Шаг 3: Проверить монтирование тома",[20,201,202],{},"Убедитесь, что том подключен правильно.",[77,204,206],{"className":79,"code":205,"language":81,"meta":82,"style":82},"docker volume ls\n",[40,207,208],{"__ignoreMap":82},[86,209,210,212,214],{"class":88,"line":89},[86,211,93],{"class":92},[86,213,97],{"class":96},[86,215,216],{"class":96}," ls\n",[20,218,219,220,222],{},"Вы должны увидеть ",[40,221,113],{}," со статусом «Local».",[20,224,225],{},"Затем проверьте содержимое тома внутри контейнера:",[77,227,229],{"className":79,"code":228,"language":81,"meta":82,"style":82},"docker exec \u003Ccontainer_name_or_id> ls /var/lib/app\n",[40,230,231],{"__ignoreMap":82},[86,232,233,235,238,242,245,249,252,255],{"class":88,"line":89},[86,234,93],{"class":92},[86,236,237],{"class":96}," exec",[86,239,241],{"class":240},"szBVR"," \u003C",[86,243,244],{"class":96},"container_name_or_i",[86,246,248],{"class":247},"sVt8B","d",[86,250,251],{"class":240},">",[86,253,254],{"class":96}," ls",[86,256,257],{"class":96}," /var/lib/app\n",[20,259,260],{},"Если каталог пуст, вы можете добавить тестовый файл:",[77,262,264],{"className":79,"code":263,"language":81,"meta":82,"style":82},"docker exec \u003Ccontainer_name_or_id> sh -c 'echo \"Hello Docker\" > /var/lib/app/hello.txt'\n",[40,265,266],{"__ignoreMap":82},[86,267,268,270,272,274,276,278,280,283,286],{"class":88,"line":89},[86,269,93],{"class":92},[86,271,237],{"class":96},[86,273,241],{"class":240},[86,275,244],{"class":96},[86,277,248],{"class":247},[86,279,251],{"class":240},[86,281,282],{"class":96}," sh",[86,284,285],{"class":140}," -c",[86,287,288],{"class":96}," 'echo \"Hello Docker\" > /var/lib/app/hello.txt'\n",[15,290,292],{"id":291},"шаг-4-убедиться-в-сохранении-данных-после-перезапуска-контейнера","Шаг 4: Убедиться в сохранении данных после перезапуска контейнера",[20,294,295],{},"Перезапустите контейнер, чтобы проверить, что том сохраняет данные.",[77,297,299],{"className":79,"code":298,"language":81,"meta":82,"style":82},"docker restart \u003Ccontainer_name_or_id>\n",[40,300,301],{"__ignoreMap":82},[86,302,303,305,308,310,312,314],{"class":88,"line":89},[86,304,93],{"class":92},[86,306,307],{"class":96}," restart",[86,309,241],{"class":240},[86,311,244],{"class":96},[86,313,248],{"class":247},[86,315,316],{"class":240},">\n",[20,318,319],{},"После перезапуска проверьте файл снова:",[77,321,323],{"className":79,"code":322,"language":81,"meta":82,"style":82},"docker exec \u003Ccontainer_name_or_id> cat /var/lib/app/hello.txt\n",[40,324,325],{"__ignoreMap":82},[86,326,327,329,331,333,335,337,339,342],{"class":88,"line":89},[86,328,93],{"class":92},[86,330,237],{"class":96},[86,332,241],{"class":240},[86,334,244],{"class":96},[86,336,248],{"class":247},[86,338,251],{"class":240},[86,340,341],{"class":96}," cat",[86,343,344],{"class":96}," /var/lib/app/hello.txt\n",[20,346,219,347,350],{},[40,348,349],{},"Hello Docker",". Если файл исчез, проверьте монтирование и права доступа.",[15,352,354],{"id":353},"шаг-5-удалить-том-когда-он-больше-не-нужен","Шаг 5: Удалить том, когда он больше не нужен",[20,356,357],{},"Когда том больше не требуется, удалите его. Убедитесь, что ни один контейнер не использует этот том.",[77,359,361],{"className":79,"code":360,"language":81,"meta":82,"style":82},"docker volume rm data_store\n",[40,362,363],{"__ignoreMap":82},[86,364,365,367,369,372],{"class":88,"line":89},[86,366,93],{"class":92},[86,368,97],{"class":96},[86,370,371],{"class":96}," rm",[86,373,103],{"class":96},[20,375,376,377,380],{},"Docker запросит подтверждение; введите ",[40,378,379],{},"Y",", чтобы удалить том.",[15,382,384],{"id":383},"проверка-результата","Проверка результата",[28,386,387,396,403,406],{},[31,388,389,390,392,393,43],{},"✅ Том ",[40,391,113],{}," создан (",[40,394,395],{},"docker volume ls",[31,397,398,399,402],{},"✅ Контейнер смонтирован с томом (",[40,400,401],{},"docker inspect \u003Ccontainer>"," показывает монтирование).",[31,404,405],{},"✅ Данные сохраняются после перезапуска контейнера.",[31,407,408,409,411,412,43],{},"✅ Том успешно удален (",[40,410,395],{}," больше не показывает ",[40,413,113],{},[15,415,417],{"id":416},"возможные-проблемы","Возможные проблемы",[419,420,422],"h3",{"id":421},"том-не-найден-в-контейнере","Том не найден в контейнере",[20,424,425,428,429,432,433,435,436,438],{},[35,426,427],{},"Причина:"," Неправильное имя тома или путь монтирования.\n",[35,430,431],{},"Решение:"," Проверьте ",[40,434,395],{}," и ",[40,437,401],{},". Убедитесь, что путь монтирования существует внутри контейнера.",[419,440,442],{"id":441},"ошибка-доступа-permission-denied","Ошибка доступа (Permission denied)",[20,444,445,447,448,450,451,454],{},[35,446,427],{}," Неправильные права доступа на хосте или в контейнере.\n",[35,449,431],{}," Измените права доступа к томовой директории хоста (",[40,452,453],{},"chmod 775 \u003Chost_path>",") и убедитесь, что пользователь/группа контейнера имеют необходимые разрешения.",[419,456,458],{"id":457},"данные-теряются-после-перезапуска","Данные теряются после перезапуска",[20,460,461,463,464,467,468,470],{},[35,462,427],{}," Использован Bind‑mount вместо именованного тома, или том смонтирован в ",[40,465,466],{},"/tmp",".\n",[35,469,431],{}," Используйте именованный том (как описано) или укажите постоянный каталог хоста в Bind‑mount.",[419,472,474],{"id":473},"невозможно-удалить-том","Невозможно удалить том",[20,476,477,479,480,482,483,486],{},[35,478,427],{}," Контейнер все еще использует том.\n",[35,481,431],{}," Найдите контейнеры, использующие том (",[40,484,485],{},"docker inspect --format='{{.Name}} {{.Mounts}}' $(docker ps -q)","), остановите и удалите их, затем удалите том.",[488,489,490],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":82,"searchDepth":492,"depth":492,"links":493},2,[494,495,496,497,498,499,500,501,502],{"id":17,"depth":492,"text":18},{"id":25,"depth":492,"text":26},{"id":71,"depth":492,"text":72},{"id":121,"depth":492,"text":122},{"id":198,"depth":492,"text":199},{"id":291,"depth":492,"text":292},{"id":353,"depth":492,"text":354},{"id":383,"depth":492,"text":384},{"id":416,"depth":492,"text":417,"children":503},[504,506,507,508],{"id":421,"depth":505,"text":422},3,{"id":441,"depth":505,"text":442},{"id":457,"depth":505,"text":458},{"id":473,"depth":505,"text":474},null,"2026-07-23 11:13:14","Узнайте, как смонтировать том Docker для долговременного хранения данных контейнеров. Пошаговая инструкция с командами, примерами и проверкой результата за 10 минут.","medium",false,"10-15 мин","md",[517,520,523,526],{"question":518,"answer":519},"Зачем использовать том Docker вместо монтирования host-папки?","Том обеспечивает изолированное управление объемом данных, автоматическое создание и удаление, а также защиту от случайного удаления файлов хост-системы.",{"question":521,"answer":522},"Как проверить, что том смонтирован правильно?","Выполните `docker volume ls`, чтобы увидеть список томов, и `docker exec \u003Ccontainer> ls /path/in/container`, чтобы убедиться, что данные доступны внутри контейнера.",{"question":524,"answer":525},"Что делать, если контейнер не может записать данные в том?","Проверьте права доступа директории хоста (`chmod 775`) и ownership, убедитесь, что том смонтирован с правильными правами, либо перезапустите контейнер.",{"question":527,"answer":528},"Можно ли смонтировать том в уже запущенный контейнер?","Нет, томы монтируются только при создании контейнера. Чтобы изменить монтирование, вам нужно будет удалить контейнер и создать новый с нужным томом.",[530,533,536,539,542],{"name":531,"text":532},"Создать том Docker","Выполните `docker volume create \u003Cvolume_name>`, чтобы создать новый именованный том, например `docker volume create data_store`.",{"name":534,"text":535},"Запустить контейнер с смонтированным томом","Запустите контейнер с помощью `docker run -d -v \u003Cvolume_name>:/path/in/container image`, например `docker run -d -v data_store:/var/lib/app nginx`.",{"name":537,"text":538},"Проверить монтирование тома","Убедитесь, что том подключен: `docker volume ls` показывает `data_store`, и `docker exec \u003Ccontainer> ls /path/in/container` отображает файлы.",{"name":540,"text":541},"Убедиться в сохранении данных после перезапуска контейнера","Перезапустите контейнер (`docker restart \u003Ccontainer>`) и проверьте, что данные в томе сохранились: `docker exec \u003Ccontainer> cat /path/in/container/file`.",{"name":543,"text":544},"Удалить том, когда он больше не нужен","Удалите том с помощью `docker volume rm \u003Cvolume_name>`, например `docker volume rm data_store`. Убедитесь, что ни один контейнер не использует этот том.","PT15M",[547,548,549,550,109,551,552,553,395,554],"docker volume mount","docker mount volume","docker persistent storage","docker data volume","docker volume example","docker volume bind mount","docker volume named volume","docker volume inspect","ru_RU",{},true,"/guides/linux/docker-volume-mount","linux",[561,562],"/guides/linux/docker-volume-create","/guides/linux/docker-compose-volume","Гайды Docker",{"title":5,"description":511},"guides/linux/docker-volume-mount","В этом гайде вы узнаете, как создать том Docker и смонтировать его в контейнер для сохранения данных после остановки или удаления контейнера. Мы покажем команды, укажем пути и проверим результат.",[568,569,570,571],"Docker","Linux","Хранение данных","Контейнеры","guide","TuWryMxfkUQ4vAX6vQON4nCTF-TbrOL_eTKRglOU-70",{"data":575,"body":576},{},{"type":577,"children":578},"root",[579],{"type":580,"tag":20,"props":581,"children":582},"element",{},[583],{"type":584,"value":519},"text",{"data":586,"body":587},{},{"type":577,"children":588},[589],{"type":580,"tag":20,"props":590,"children":591},{},[592,594,599,601,607],{"type":584,"value":593},"Выполните ",{"type":580,"tag":40,"props":595,"children":597},{"className":596},[],[598],{"type":584,"value":395},{"type":584,"value":600},", чтобы увидеть список томов, и ",{"type":580,"tag":40,"props":602,"children":604},{"className":603},[],[605],{"type":584,"value":606},"docker exec \u003Ccontainer> ls /path/in/container",{"type":584,"value":608},", чтобы убедиться, что данные доступны внутри контейнера.",{"data":610,"body":611},{},{"type":577,"children":612},[613],{"type":580,"tag":20,"props":614,"children":615},{},[616,618,624],{"type":584,"value":617},"Проверьте права доступа директории хоста (",{"type":580,"tag":40,"props":619,"children":621},{"className":620},[],[622],{"type":584,"value":623},"chmod 775",{"type":584,"value":625},") и ownership, убедитесь, что том смонтирован с правильными правами, либо перезапустите контейнер.",{"data":627,"body":628},{},{"type":577,"children":629},[630],{"type":580,"tag":20,"props":631,"children":632},{},[633],{"type":584,"value":528},{"data":635,"body":636},{},{"type":577,"children":637},[638],{"type":580,"tag":20,"props":639,"children":640},{},[641,642,648,650,656],{"type":584,"value":593},{"type":580,"tag":40,"props":643,"children":645},{"className":644},[],[646],{"type":584,"value":647},"docker volume create \u003Cvolume_name>",{"type":584,"value":649},", чтобы создать новый именованный том, например ",{"type":580,"tag":40,"props":651,"children":653},{"className":652},[],[654],{"type":584,"value":655},"docker volume create data_store",{"type":584,"value":52},{"data":658,"body":659},{},{"type":577,"children":660},[661],{"type":580,"tag":20,"props":662,"children":663},{},[664,666,672,674,680],{"type":584,"value":665},"Запустите контейнер с помощью ",{"type":580,"tag":40,"props":667,"children":669},{"className":668},[],[670],{"type":584,"value":671},"docker run -d -v \u003Cvolume_name>:/path/in/container image",{"type":584,"value":673},", например ",{"type":580,"tag":40,"props":675,"children":677},{"className":676},[],[678],{"type":584,"value":679},"docker run -d -v data_store:/var/lib/app nginx",{"type":584,"value":52},{"data":682,"body":683},{},{"type":577,"children":684},[685],{"type":580,"tag":20,"props":686,"children":687},{},[688,690,695,697,702,704,709],{"type":584,"value":689},"Убедитесь, что том подключен: ",{"type":580,"tag":40,"props":691,"children":693},{"className":692},[],[694],{"type":584,"value":395},{"type":584,"value":696}," показывает ",{"type":580,"tag":40,"props":698,"children":700},{"className":699},[],[701],{"type":584,"value":113},{"type":584,"value":703},", и ",{"type":580,"tag":40,"props":705,"children":707},{"className":706},[],[708],{"type":584,"value":606},{"type":584,"value":710}," отображает файлы.",{"data":712,"body":713},{},{"type":577,"children":714},[715],{"type":580,"tag":20,"props":716,"children":717},{},[718,720,726,728,734],{"type":584,"value":719},"Перезапустите контейнер (",{"type":580,"tag":40,"props":721,"children":723},{"className":722},[],[724],{"type":584,"value":725},"docker restart \u003Ccontainer>",{"type":584,"value":727},") и проверьте, что данные в томе сохранились: ",{"type":580,"tag":40,"props":729,"children":731},{"className":730},[],[732],{"type":584,"value":733},"docker exec \u003Ccontainer> cat /path/in/container/file",{"type":584,"value":52},{"data":736,"body":737},{},{"type":577,"children":738},[739],{"type":580,"tag":20,"props":740,"children":741},{},[742,744,750,751,757],{"type":584,"value":743},"Удалите том с помощью ",{"type":580,"tag":40,"props":745,"children":747},{"className":746},[],[748],{"type":584,"value":749},"docker volume rm \u003Cvolume_name>",{"type":584,"value":673},{"type":580,"tag":40,"props":752,"children":754},{"className":753},[],[755],{"type":584,"value":756},"docker volume rm data_store",{"type":584,"value":758},". Убедитесь, что ни один контейнер не использует этот том.",[]]