[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/docker-memory-limits":3,"mdc--oel6dn-key":922,"mdc--fags7-key":956,"mdc-q35xzf-key":972,"mdc--x8wxvu-key":988,"mdc-qkerh3-key":1017,"mdc--tnuykh-key":1025,"mdc--1bsin8-key":1040,"mdc--ybca9t-key":1056,"mdc--unt23l-key":1078,"mdc--e4rkg1-key":1101,"related-/guides/linux/docker-cpu-limits,/guides/linux/docker-volume-mount":1109},{"id":4,"title":5,"appliesTo":6,"author":10,"body":11,"canonical":855,"code":855,"createdAt":856,"description":857,"difficulty":858,"draft":859,"estimatedTime":860,"extension":861,"faq":862,"howToSteps":875,"howToTotalTime":894,"image":855,"keywords":895,"locale":903,"meta":904,"navigation":99,"path":905,"platform":906,"related":907,"section":910,"seo":911,"severity":855,"stem":912,"summary":913,"tags":914,"twitterCreator":855,"twitterSite":855,"type":920,"updatedAt":856,"__hash__":921},"content_ru/guides/linux/docker-memory-limits.md","Полное руководство по установке лимитов памяти Docker на Ubuntu 22.04",[7,8,9],"Docker 23.04","Ubuntu 22.04","Debian 12","FixPedia Team",{"type":12,"value":13,"toc":843},"minimark",[14,19,23,27,56,60,63,301,319,323,330,381,395,408,411,415,421,436,443,461,464,486,490,493,496,579,582,600,603,607,628,631,688,698,702,707,727,735,746,751,762,766,792,795,799,836,839],[15,16,18],"h2",{"id":17},"введение-зачем-это-нужно","Введение / Зачем это нужно",[20,21,22],"p",{},"Настройка лимитов памяти в Docker позволяет контролировать потребление ресурсов, предотвращать перегрузку хоста и обеспечивать стабильную работу приложений в контейнерах. С помощью лимитов вы можете гарантировать, что каждый контейнер будет использовать только allotted объем оперативной памяти, что особенно важно в общей среде с несколькими контейнерами.",[15,24,26],{"id":25},"требования-подготовка","Требования / Подготовка",[28,29,30,34,37,45],"ul",{},[31,32,33],"li",{},"ОС: Ubuntu 22.04 (или Debian 12)",[31,35,36],{},"Docker версии 23.04 или выше",[31,38,39,40,44],{},"Права администратора (",[41,42,43],"code",{},"sudo",") для установки пакетов и запуска контейнеров",[31,46,47,48,51,52,55],{},"Базовое понимание команд Docker (",[41,49,50],{},"docker run",", ",[41,53,54],{},"docker-compose",")",[15,57,59],{"id":58},"шаг-1-установка-docker-если-не-установлен","Шаг 1: Установка Docker (если не установлен)",[20,61,62],{},"Если Docker уже установлен, пропустите этот шаг.",[64,65,70],"pre",{"className":66,"code":67,"language":68,"meta":69,"style":69},"language-bash shiki shiki-themes github-light github-dark","# Обновите список пакетов\nsudo apt update\n\n# Установите необходимые зависимости\nsudo apt install -y ca-certificates curl gnupg\n\n# Добавьте официальный ключ репозитория Docker\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg\n\n# Добавьте репозиторий Docker в apt\necho \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n\n# Установите Docker Engine, клиент и compose plugin\nsudo apt update\nsudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n\n# (Опционально) добавьте текущего пользователя в группу docker\nsudo usermod -aG docker $USER\n","bash","",[41,71,72,81,94,101,107,130,135,141,172,177,183,226,231,237,246,272,277,283],{"__ignoreMap":69},[73,74,77],"span",{"class":75,"line":76},"line",1,[73,78,80],{"class":79},"sJ8bj","# Обновите список пакетов\n",[73,82,84,87,91],{"class":75,"line":83},2,[73,85,43],{"class":86},"sScJk",[73,88,90],{"class":89},"sZZnC"," apt",[73,92,93],{"class":89}," update\n",[73,95,97],{"class":75,"line":96},3,[73,98,100],{"emptyLinePlaceholder":99},true,"\n",[73,102,104],{"class":75,"line":103},4,[73,105,106],{"class":79},"# Установите необходимые зависимости\n",[73,108,110,112,114,117,121,124,127],{"class":75,"line":109},5,[73,111,43],{"class":86},[73,113,90],{"class":89},[73,115,116],{"class":89}," install",[73,118,120],{"class":119},"sj4cs"," -y",[73,122,123],{"class":89}," ca-certificates",[73,125,126],{"class":89}," curl",[73,128,129],{"class":89}," gnupg\n",[73,131,133],{"class":75,"line":132},6,[73,134,100],{"emptyLinePlaceholder":99},[73,136,138],{"class":75,"line":137},7,[73,139,140],{"class":79},"# Добавьте официальный ключ репозитория Docker\n",[73,142,144,147,150,153,157,160,163,166,169],{"class":75,"line":143},8,[73,145,146],{"class":86},"curl",[73,148,149],{"class":119}," -fsSL",[73,151,152],{"class":89}," https://download.docker.com/linux/ubuntu/gpg",[73,154,156],{"class":155},"szBVR"," |",[73,158,159],{"class":86}," sudo",[73,161,162],{"class":89}," gpg",[73,164,165],{"class":119}," --dearmor",[73,167,168],{"class":119}," -o",[73,170,171],{"class":89}," /usr/share/keyrings/docker-archive-keyring.gpg\n",[73,173,175],{"class":75,"line":174},9,[73,176,100],{"emptyLinePlaceholder":99},[73,178,180],{"class":75,"line":179},10,[73,181,182],{"class":79},"# Добавьте репозиторий Docker в apt\n",[73,184,186,189,192,195,198,201,204,207,210,212,214,217,220,223],{"class":75,"line":185},11,[73,187,188],{"class":119},"echo",[73,190,191],{"class":89}," \"deb [arch=$(",[73,193,194],{"class":86},"dpkg",[73,196,197],{"class":119}," --print-architecture",[73,199,200],{"class":89},") signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(",[73,202,203],{"class":86},"lsb_release",[73,205,206],{"class":119}," -cs",[73,208,209],{"class":89},") stable\"",[73,211,156],{"class":155},[73,213,159],{"class":86},[73,215,216],{"class":89}," tee",[73,218,219],{"class":89}," /etc/apt/sources.list.d/docker.list",[73,221,222],{"class":155}," >",[73,224,225],{"class":89}," /dev/null\n",[73,227,229],{"class":75,"line":228},12,[73,230,100],{"emptyLinePlaceholder":99},[73,232,234],{"class":75,"line":233},13,[73,235,236],{"class":79},"# Установите Docker Engine, клиент и compose plugin\n",[73,238,240,242,244],{"class":75,"line":239},14,[73,241,43],{"class":86},[73,243,90],{"class":89},[73,245,93],{"class":89},[73,247,249,251,253,255,257,260,263,266,269],{"class":75,"line":248},15,[73,250,43],{"class":86},[73,252,90],{"class":89},[73,254,116],{"class":89},[73,256,120],{"class":119},[73,258,259],{"class":89}," docker-ce",[73,261,262],{"class":89}," docker-ce-cli",[73,264,265],{"class":89}," containerd.io",[73,267,268],{"class":89}," docker-buildx-plugin",[73,270,271],{"class":89}," docker-compose-plugin\n",[73,273,275],{"class":75,"line":274},16,[73,276,100],{"emptyLinePlaceholder":99},[73,278,280],{"class":75,"line":279},17,[73,281,282],{"class":79},"# (Опционально) добавьте текущего пользователя в группу docker\n",[73,284,286,288,291,294,297],{"class":75,"line":285},18,[73,287,43],{"class":86},[73,289,290],{"class":89}," usermod",[73,292,293],{"class":119}," -aG",[73,295,296],{"class":89}," docker",[73,298,300],{"class":299},"sVt8B"," $USER\n",[302,303,304],"blockquote",{},[20,305,306,307,311,312,315,316,318],{},"💡 ",[308,309,310],"strong",{},"Совет:"," После добавления в группу перезагрузите терминал или выполните ",[41,313,314],{},"newgrp docker",", чтобы начать использовать Docker без ",[41,317,43],{},".",[15,320,322],{"id":321},"шаг-2-запуск-контейнера-с-жёстким-лимитом-памяти","Шаг 2: Запуск контейнера с жёстким лимитом памяти",[20,324,325,326,329],{},"При запуске контейнера укажите ",[41,327,328],{},"--memory",", чтобы ограничить объём используемой оперативной памяти.",[64,331,333],{"className":66,"code":332,"language":68,"meta":69,"style":69},"docker run --name test-mem \\\n  --memory=512m \\\n  -d \\\n  alpine:3.18 \\\n  sleep 3600\n",[41,334,335,352,359,366,373],{"__ignoreMap":69},[73,336,337,340,343,346,349],{"class":75,"line":76},[73,338,339],{"class":86},"docker",[73,341,342],{"class":89}," run",[73,344,345],{"class":119}," --name",[73,347,348],{"class":89}," test-mem",[73,350,351],{"class":119}," \\\n",[73,353,354,357],{"class":75,"line":83},[73,355,356],{"class":119},"  --memory=512m",[73,358,351],{"class":119},[73,360,361,364],{"class":75,"line":96},[73,362,363],{"class":119},"  -d",[73,365,351],{"class":119},[73,367,368,371],{"class":75,"line":103},[73,369,370],{"class":89},"  alpine:3.18",[73,372,351],{"class":119},[73,374,375,378],{"class":75,"line":109},[73,376,377],{"class":89},"  sleep",[73,379,380],{"class":119}," 3600\n",[28,382,383,389],{},[31,384,385,388],{},[41,386,387],{},"--memory=512m"," устанавливает жёсткий лимит в 512 МБ.",[31,390,391,394],{},[41,392,393],{},"--memory-swap=512m"," (опционально) запрещает использование свопа, обеспечивая строгий контроль.",[302,396,397],{},[20,398,399,400,403,404,407],{},"⚠️ ",[308,401,402],{},"Важно:"," Лимит применяется к одному контейнеру; превышение может вызвать ",[41,405,406],{},"OOMKilled"," и перезапуск контейнера.",[409,410],"in-article-ad",{},[15,412,414],{"id":413},"шаг-3-проверка-лимитов-с-помощью-docker-stats","Шаг 3: Проверка лимитов с помощью docker stats",[20,416,417,418,318],{},"Чтобы убедиться, что лимит работает, используйте ",[41,419,420],{},"docker stats",[64,422,424],{"className":66,"code":423,"language":68,"meta":69,"style":69},"docker stats test-mem\n",[41,425,426],{"__ignoreMap":69},[73,427,428,430,433],{"class":75,"line":76},[73,429,339],{"class":86},[73,431,432],{"class":89}," stats",[73,434,435],{"class":89}," test-mem\n",[20,437,438,439,442],{},"Столбец ",[308,440,441],{},"MEM"," показывает:",[28,444,445,451],{},[31,446,447,450],{},[308,448,449],{},"В использовании"," — текущее потребление памяти.",[31,452,453,456,457,460],{},[308,454,455],{},"Лимит"," — установленный предел (например, ",[41,458,459],{},"512 MiB",").",[20,462,463],{},"Вы также можете получить данные в формате JSON для скриптов:",[64,465,467],{"className":66,"code":466,"language":68,"meta":69,"style":69},"docker stats --no-stream --format \"{{json .}}\" test-mem\n",[41,468,469],{"__ignoreMap":69},[73,470,471,473,475,478,481,484],{"class":75,"line":76},[73,472,339],{"class":86},[73,474,432],{"class":89},[73,476,477],{"class":119}," --no-stream",[73,479,480],{"class":119}," --format",[73,482,483],{"class":89}," \"{{json .}}\"",[73,485,435],{"class":89},[15,487,489],{"id":488},"шаг-4-настройка-лимитов-через-docker-composeyml","Шаг 4: Настройка лимитов через docker-compose.yml",[20,491,492],{},"Для многоконтейнерных приложений удобнее использовать Docker Compose.",[20,494,495],{},"Добавьте конфигурацию в сервис:",[64,497,501],{"className":498,"code":499,"language":500,"meta":69,"style":69},"language-yaml shiki shiki-themes github-light github-dark","version: \"3.9\"\nservices:\n  web:\n    image: nginx:1.23\n    mem_limit: 256m          # жёсткий лимит\n    mem_reservation: 128m    # безопасный порог\n    mem_swappiness: 60       # своп (опционально)\n","yaml",[41,502,503,515,523,530,540,553,566],{"__ignoreMap":69},[73,504,505,509,512],{"class":75,"line":76},[73,506,508],{"class":507},"s9eBZ","version",[73,510,511],{"class":299},": ",[73,513,514],{"class":89},"\"3.9\"\n",[73,516,517,520],{"class":75,"line":83},[73,518,519],{"class":507},"services",[73,521,522],{"class":299},":\n",[73,524,525,528],{"class":75,"line":96},[73,526,527],{"class":507},"  web",[73,529,522],{"class":299},[73,531,532,535,537],{"class":75,"line":103},[73,533,534],{"class":507},"    image",[73,536,511],{"class":299},[73,538,539],{"class":89},"nginx:1.23\n",[73,541,542,545,547,550],{"class":75,"line":109},[73,543,544],{"class":507},"    mem_limit",[73,546,511],{"class":299},[73,548,549],{"class":89},"256m",[73,551,552],{"class":79},"          # жёсткий лимит\n",[73,554,555,558,560,563],{"class":75,"line":132},[73,556,557],{"class":507},"    mem_reservation",[73,559,511],{"class":299},[73,561,562],{"class":89},"128m",[73,564,565],{"class":79},"    # безопасный порог\n",[73,567,568,571,573,576],{"class":75,"line":137},[73,569,570],{"class":507},"    mem_swappiness",[73,572,511],{"class":299},[73,574,575],{"class":119},"60",[73,577,578],{"class":79},"       # своп (опционально)\n",[20,580,581],{},"Затем выполните:",[64,583,585],{"className":66,"code":584,"language":68,"meta":69,"style":69},"docker compose up -d\n",[41,586,587],{"__ignoreMap":69},[73,588,589,591,594,597],{"class":75,"line":76},[73,590,339],{"class":86},[73,592,593],{"class":89}," compose",[73,595,596],{"class":89}," up",[73,598,599],{"class":119}," -d\n",[20,601,602],{},"Compose применит лимиты при запуске контейнера.",[15,604,606],{"id":605},"шаг-5-регулировка-резервирования-и-свопа","Шаг 5: Регулировка резервирования и свопа",[28,608,609,619],{},[31,610,611,614,615,618],{},[41,612,613],{},"--memory-reservation"," (или ",[41,616,617],{},"mem_reservation",") — порог, при котором Docker начинает убивать процессы, если память превысила этот уровень.",[31,620,621,614,624,627],{},[41,622,623],{},"--memory-swap",[41,625,626],{},"mem_swap",") — включает своп; установите его равным лимиту, чтобы запретить использование свопа.",[20,629,630],{},"Пример запуска с резервированием и без свопа:",[64,632,634],{"className":66,"code":633,"language":68,"meta":69,"style":69},"docker run --name reserved-mem \\\n  --memory=1g \\\n  --memory-reservation=256m \\\n  --memory-swap=0 \\\n  -d \\\n  alpine:3.18 \\\n  sleep 3600\n",[41,635,636,649,656,663,670,676,682],{"__ignoreMap":69},[73,637,638,640,642,644,647],{"class":75,"line":76},[73,639,339],{"class":86},[73,641,342],{"class":89},[73,643,345],{"class":119},[73,645,646],{"class":89}," reserved-mem",[73,648,351],{"class":119},[73,650,651,654],{"class":75,"line":83},[73,652,653],{"class":119},"  --memory=1g",[73,655,351],{"class":119},[73,657,658,661],{"class":75,"line":96},[73,659,660],{"class":119},"  --memory-reservation=256m",[73,662,351],{"class":119},[73,664,665,668],{"class":75,"line":103},[73,666,667],{"class":119},"  --memory-swap=0",[73,669,351],{"class":119},[73,671,672,674],{"class":75,"line":109},[73,673,363],{"class":119},[73,675,351],{"class":119},[73,677,678,680],{"class":75,"line":132},[73,679,370],{"class":89},[73,681,351],{"class":119},[73,683,684,686],{"class":75,"line":137},[73,685,377],{"class":89},[73,687,380],{"class":119},[302,689,690],{},[20,691,306,692,694,695,697],{},[308,693,310],{}," Используйте ",[41,696,623],{}," для предотвращения использования свопа, что улучшает предсказуемость производительности.",[15,699,701],{"id":700},"шаг-6-устранение-распространённых-проблем","Шаг 6: Устранение распространённых проблем",[20,703,704],{},[308,705,706],{},"Проблема 1: Контейнер часто перезапускается из-за OOMKilled",[28,708,709,715,724],{},[31,710,711,712],{},"Проверьте логи: ",[41,713,714],{},"docker logs test-mem",[31,716,717,718,720,721,723],{},"Увеличьте ",[41,719,328],{}," или ",[41,722,623],{},", чтобы освободить место.",[31,725,726],{},"Оптимизируйте приложение или ограничьте количество одновременно работающих процессов.",[20,728,729],{},[308,730,731,732,734],{},"Проблема 2: ",[41,733,420],{}," не показывает лимит",[28,736,737,743],{},[31,738,739,740,460],{},"Убедитесь, что контейнер запущен (",[41,741,742],{},"docker ps",[31,744,745],{},"Удалите и пересоздайте контейнер с лимитом, если предыдущий был запущен без него.",[20,747,748],{},[308,749,750],{},"Проблема 3: Хост испытывает нехватку памяти",[28,752,753,759],{},[31,754,755,756,318],{},"Проверьте общее использование памяти хоста: ",[41,757,758],{},"free -h",[31,760,761],{},"Настройте лимиты для других контейнеров или ограничьте количество simultaneously работающих контейнеров.",[15,763,765],{"id":764},"проверка-результата","Проверка результата",[767,768,769,774,780,786],"ol",{},[31,770,771,772,318],{},"Убедитесь, что контейнер работает: ",[41,773,742],{},[31,775,776,777,318],{},"Проверьте текущий лимит: ",[41,778,779],{},"docker stats \u003Ccontainer_name>",[31,781,782,783,318],{},"При необходимости проверьте логи на OOMKilled: ",[41,784,785],{},"docker logs \u003Ccontainer_name>",[31,787,788,789,318],{},"Для Compose проверьте логи сервиса: ",[41,790,791],{},"docker compose logs web",[20,793,794],{},"Если лимит отображается и контейнер стабилен, настройка успешно завершена.",[15,796,798],{"id":797},"возможные-проблемы","Возможные проблемы",[28,800,801,810,827],{},[31,802,803,806,807,809],{},[308,804,805],{},"Превышение лимита"," может вызвать ",[41,808,406],{}," — увеличьте лимит или оптимизируйте приложение.",[31,811,812,815,816,819,820,822,823,826],{},[308,813,814],{},"Неправильная синтаксисная ошибка"," при добавлении ",[41,817,818],{},"mem_limit"," в Compose — убедитесь, что используете правильный ключ (",[41,821,818],{}," для старых версий, ",[41,824,825],{},"deploy.resources.limits.memory"," для newer).",[31,828,829,832,833,835],{},[308,830,831],{},"Недостаток прав"," для установки Docker — убедитесь, что вы добавили пользователя в группу ",[41,834,339],{}," и перезагрузили сессию.",[20,837,838],{},"Следуйте этим шагам, и вы сможете надёжно контролировать потребление памяти Docker в Linux-среде.",[840,841,842],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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 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}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 .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":69,"searchDepth":83,"depth":83,"links":844},[845,846,847,848,849,850,851,852,853,854],{"id":17,"depth":83,"text":18},{"id":25,"depth":83,"text":26},{"id":58,"depth":83,"text":59},{"id":321,"depth":83,"text":322},{"id":413,"depth":83,"text":414},{"id":488,"depth":83,"text":489},{"id":605,"depth":83,"text":606},{"id":700,"depth":83,"text":701},{"id":764,"depth":83,"text":765},{"id":797,"depth":83,"text":798},null,"2026-07-09 12:20:29","Узнайте, как легко ограничить использование памяти контейнеров Docker на Linux. Пошаговая инструкция с командами для установки лимитов, проверки и устранения проблем за 5 минут.","medium",false,"5-10 мин","md",[863,866,869,872],{"question":864,"answer":865},"Как установить лимит памяти для контейнера Docker?","Используйте флаг `--memory` при запуске контейнера, например `docker run --memory=512m alpine sleep 3600`. Для Compose добавьте `mem_limit` в сервис.",{"question":867,"answer":868},"Как проверить текущее использование памяти контейнером?","Запустите `docker stats \u003Ccontainer_name>` — столбец MEM показывает текущее потребление и лимит, если он установлен.",{"question":870,"answer":871},"Что делать, если контейнер исчерпывает лимит памяти?","Увеличьте лимит, оптимизируйте приложение, включите своп или используйте `--memory-reservation` для предотвращения OOMKilled.",{"question":873,"answer":874},"Как настроить лимиты памяти для docker-compose?","Добавьте `mem_limit` или `deploy.resources.limits.memory` в секцию сервиса, затем выполните `docker-compose up -d`.",[876,879,882,885,888,891],{"name":877,"text":878},"Установка Docker (если не установлен)","На Ubuntu 22.04 выполните обновление пакетов и установите Docker из официального репозитория.",{"name":880,"text":881},"Запуск контейнера с жёстким лимитом памяти","Запустите контейнер с использованием `--memory`, чтобы ограничить объём используемой оперативной памяти.",{"name":883,"text":884},"Проверка лимитов с помощью docker stats","Используйте `docker stats`, чтобы увидеть текущее потребление и убедиться, что лимит работает.",{"name":886,"text":887},"Настройка лимитов через docker-compose.yml","Добавьте конфигурацию `mem_limit` или `deploy.resources.limits.memory` в файл docker-compose.yml.",{"name":889,"text":890},"Регулировка резервирования и свопа","Настройте `--memory-reservation` (безопасный порог) и `--memory-swap`, чтобы контролировать поведение при нехватке памяти.",{"name":892,"text":893},"Устранение распространённых проблем","Если контейнер часто перезапускается, проверьте логи на OOMKilled и скорректируйте лимиты.","PT10M",[896,897,898,899,900,901,902],"лимит памяти Docker","установить лимит памяти контейнера","docker run memory limit","docker-compose set memory","ошибка превышения памяти Docker","проверка использования памяти Docker","Docker memory limit Ubuntu","ru_RU",{},"/guides/linux/docker-memory-limits","linux",[908,909],"/guides/linux/docker-cpu-limits","/guides/linux/docker-volume-mount","Гайды Docker",{"title":5,"description":857},"guides/linux/docker-memory-limits","В этой статье вы узнаете, как настроить лимиты памяти Docker на Linux, чтобы контролировать потребление ресурсов, предотвратить перегрузку и оптимизировать производительность контейнеров. После выполнения инструкции вы сможете устанавливать и проверять лимиты как через CLI, так и с помощью docker-compose.",[915,916,917,918,919],"Docker","memory","Linux","containers","limits","guide","D02hzI0qRmuxVPi2W8h5QKOP-9C0cJPs_VHL42wGrDc",{"data":923,"body":924},{},{"type":925,"children":926},"root",[927],{"type":928,"tag":20,"props":929,"children":930},"element",{},[931,934,939,941,947,949,954],{"type":932,"value":933},"text","Используйте флаг ",{"type":928,"tag":41,"props":935,"children":937},{"className":936},[],[938],{"type":932,"value":328},{"type":932,"value":940}," при запуске контейнера, например ",{"type":928,"tag":41,"props":942,"children":944},{"className":943},[],[945],{"type":932,"value":946},"docker run --memory=512m alpine sleep 3600",{"type":932,"value":948},". Для Compose добавьте ",{"type":928,"tag":41,"props":950,"children":952},{"className":951},[],[953],{"type":932,"value":818},{"type":932,"value":955}," в сервис.",{"data":957,"body":958},{},{"type":925,"children":959},[960],{"type":928,"tag":20,"props":961,"children":962},{},[963,965,970],{"type":932,"value":964},"Запустите ",{"type":928,"tag":41,"props":966,"children":968},{"className":967},[],[969],{"type":932,"value":779},{"type":932,"value":971}," — столбец MEM показывает текущее потребление и лимит, если он установлен.",{"data":973,"body":974},{},{"type":925,"children":975},[976],{"type":928,"tag":20,"props":977,"children":978},{},[979,981,986],{"type":932,"value":980},"Увеличьте лимит, оптимизируйте приложение, включите своп или используйте ",{"type":928,"tag":41,"props":982,"children":984},{"className":983},[],[985],{"type":932,"value":613},{"type":932,"value":987}," для предотвращения OOMKilled.",{"data":989,"body":990},{},{"type":925,"children":991},[992],{"type":928,"tag":20,"props":993,"children":994},{},[995,997,1002,1003,1008,1010,1016],{"type":932,"value":996},"Добавьте ",{"type":928,"tag":41,"props":998,"children":1000},{"className":999},[],[1001],{"type":932,"value":818},{"type":932,"value":720},{"type":928,"tag":41,"props":1004,"children":1006},{"className":1005},[],[1007],{"type":932,"value":825},{"type":932,"value":1009}," в секцию сервиса, затем выполните ",{"type":928,"tag":41,"props":1011,"children":1013},{"className":1012},[],[1014],{"type":932,"value":1015},"docker-compose up -d",{"type":932,"value":318},{"data":1018,"body":1019},{},{"type":925,"children":1020},[1021],{"type":928,"tag":20,"props":1022,"children":1023},{},[1024],{"type":932,"value":878},{"data":1026,"body":1027},{},{"type":925,"children":1028},[1029],{"type":928,"tag":20,"props":1030,"children":1031},{},[1032,1034,1039],{"type":932,"value":1033},"Запустите контейнер с использованием ",{"type":928,"tag":41,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":932,"value":328},{"type":932,"value":329},{"data":1041,"body":1042},{},{"type":925,"children":1043},[1044],{"type":928,"tag":20,"props":1045,"children":1046},{},[1047,1049,1054],{"type":932,"value":1048},"Используйте ",{"type":928,"tag":41,"props":1050,"children":1052},{"className":1051},[],[1053],{"type":932,"value":420},{"type":932,"value":1055},", чтобы увидеть текущее потребление и убедиться, что лимит работает.",{"data":1057,"body":1058},{},{"type":925,"children":1059},[1060],{"type":928,"tag":20,"props":1061,"children":1062},{},[1063,1065,1070,1071,1076],{"type":932,"value":1064},"Добавьте конфигурацию ",{"type":928,"tag":41,"props":1066,"children":1068},{"className":1067},[],[1069],{"type":932,"value":818},{"type":932,"value":720},{"type":928,"tag":41,"props":1072,"children":1074},{"className":1073},[],[1075],{"type":932,"value":825},{"type":932,"value":1077}," в файл docker-compose.yml.",{"data":1079,"body":1080},{},{"type":925,"children":1081},[1082],{"type":928,"tag":20,"props":1083,"children":1084},{},[1085,1087,1092,1094,1099],{"type":932,"value":1086},"Настройте ",{"type":928,"tag":41,"props":1088,"children":1090},{"className":1089},[],[1091],{"type":932,"value":613},{"type":932,"value":1093}," (безопасный порог) и ",{"type":928,"tag":41,"props":1095,"children":1097},{"className":1096},[],[1098],{"type":932,"value":623},{"type":932,"value":1100},", чтобы контролировать поведение при нехватке памяти.",{"data":1102,"body":1103},{},{"type":925,"children":1104},[1105],{"type":928,"tag":20,"props":1106,"children":1107},{},[1108],{"type":932,"value":893},[]]