[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/docker-compose-install":3,"mdc--daok7n-key":769,"mdc-klpqtk-key":779,"mdc-9lk564-key":801,"mdc-yisee7-key":809,"mdc-kfvi8z-key":826,"mdc--x4wnij-key":834,"mdc-ao5kok-key":842,"mdc--35l5hz-key":858,"mdc--q5ks9u-key":866,"related-/guides/linux/docker-install,/errors/linux/docker-permission-denied,/guides/linux/docker-get-started":882},{"id":4,"title":5,"appliesTo":6,"author":12,"body":13,"canonical":707,"code":707,"createdAt":708,"description":709,"difficulty":710,"draft":711,"estimatedTime":712,"extension":713,"faq":714,"howToSteps":727,"howToTotalTime":743,"image":707,"keywords":744,"locale":752,"meta":753,"navigation":194,"path":754,"platform":755,"related":756,"section":759,"seo":760,"severity":707,"stem":761,"summary":762,"tags":763,"twitterCreator":707,"twitterSite":707,"type":767,"updatedAt":708,"__hash__":768},"content_ru/guides/linux/docker-compose-install.md","Установка Docker Compose на Linux: пошаговая инструкция",[7,8,9,10,11],"Ubuntu 20.04/22.04/24.04","Debian 11/12","CentOS 7/8 Stream","Fedora 38/39","Any Linux system with Docker installed","FixPedia Team",{"type":14,"value":15,"toc":694},"minimark",[16,21,30,34,37,89,93,98,101,140,153,157,160,356,361,393,396,400,403,429,442,446,449,464,467,475,479,485,547,550,564,571,575,588,609,614,618,630,643,650,664,669,690],[17,18,20],"h2",{"id":19},"введение-зачем-это-нужно","Введение / Зачем это нужно",[22,23,24,25,29],"p",{},"Docker Compose — это инструмент для определения и запуска многоконтейнерных Docker-приложений. С его помощью вы описываете все сервисы (база данных, веб-сервер, бэкенд) в одном YAML-файле (",[26,27,28],"code",{},"docker-compose.yml",") и управляете ими одной командой. Этот гайд поможет вам установить Docker Compose на сервер или рабочую станцию под Linux, что является первым шагом к локальной разработке, тестированию или развёртыванию комплексных приложений.",[17,31,33],{"id":32},"требования-подготовка","Требования / Подготовка",[22,35,36],{},"Перед началом убедитесь, что у вас:",[38,39,40,77,83],"ol",{},[41,42,43,47,48,70,71,76],"li",{},[44,45,46],"strong",{},"Установлен Docker Engine",". Docker Compose работает поверх Docker. Проверьте наличие Docker командой:\n",[49,50,55],"pre",{"className":51,"code":52,"language":53,"meta":54,"style":54},"language-bash shiki shiki-themes github-light github-dark","docker --version\n","bash","",[26,56,57],{"__ignoreMap":54},[58,59,62,66],"span",{"class":60,"line":61},"line",1,[58,63,65],{"class":64},"sScJk","docker",[58,67,69],{"class":68},"sj4cs"," --version\n","\nЕсли Docker не установлен, сначала следуйте нашему ",[72,73,75],"a",{"href":74},"/guides/linux/docker-install","руководству по установке Docker на Linux",".",[41,78,79,82],{},[44,80,81],{},"Права администратора (sudo)",". Установка пакетов требует прав суперпользователя.",[41,84,85,88],{},[44,86,87],{},"Подключение к интернету"," для загрузки пакетов и репозиториев.",[17,90,92],{"id":91},"пошаговая-инструкция","Пошаговая инструкция",[94,95,97],"h3",{"id":96},"шаг-1-обновите-индекс-пакетов-и-установите-зависимости","Шаг 1: Обновите индекс пакетов и установите зависимости",[22,99,100],{},"Откройте терминал и выполните команды для обновления списка доступных пакетов и установки утилит, которые понадобятся для работы с репозиториями.",[49,102,104],{"className":51,"code":103,"language":53,"meta":54,"style":54},"sudo apt-get update\nsudo apt-get install -y ca-certificates curl gnupg\n",[26,105,106,118],{"__ignoreMap":54},[58,107,108,111,115],{"class":60,"line":61},[58,109,110],{"class":64},"sudo",[58,112,114],{"class":113},"sZZnC"," apt-get",[58,116,117],{"class":113}," update\n",[58,119,121,123,125,128,131,134,137],{"class":60,"line":120},2,[58,122,110],{"class":64},[58,124,114],{"class":113},[58,126,127],{"class":113}," install",[58,129,130],{"class":68}," -y",[58,132,133],{"class":113}," ca-certificates",[58,135,136],{"class":113}," curl",[58,138,139],{"class":113}," gnupg\n",[22,141,142],{},[143,144,145,146,149,150,76],"em",{},"Для систем на базе RPM (CentOS, Fedora) используйте ",[26,147,148],{},"sudo yum update"," и ",[26,151,152],{},"sudo yum install -y ca-certificates curl gnupg",[94,154,156],{"id":155},"шаг-2-добавьте-официальный-репозиторий-docker","Шаг 2: Добавьте официальный репозиторий Docker",[22,158,159],{},"Создайте директорию для ключей GPG и импортируйте официальный ключ Docker. Затем добавьте стабильный репозиторий в sources.list.",[49,161,163],{"className":51,"code":162,"language":53,"meta":54,"style":54},"# Создание директории для ключей (если её нет)\nsudo install -m 0755 -d /etc/apt/keyrings\n\n# Импорт GPG-ключа Docker\ncurl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo \"$ID\")/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg\n\n# Добавление репозитория\necho \\\n  \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(. /etc/os-release; echo \"$ID\") \\\n  $(. /etc/os-release; echo \"$VERSION_CODENAME\") stable\" | \\\n  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n",[26,164,165,171,189,196,202,263,268,274,282,314,338],{"__ignoreMap":54},[58,166,167],{"class":60,"line":61},[58,168,170],{"class":169},"sJ8bj","# Создание директории для ключей (если её нет)\n",[58,172,173,175,177,180,183,186],{"class":60,"line":120},[58,174,110],{"class":64},[58,176,127],{"class":113},[58,178,179],{"class":68}," -m",[58,181,182],{"class":68}," 0755",[58,184,185],{"class":68}," -d",[58,187,188],{"class":113}," /etc/apt/keyrings\n",[58,190,192],{"class":60,"line":191},3,[58,193,195],{"emptyLinePlaceholder":194},true,"\n",[58,197,199],{"class":60,"line":198},4,[58,200,201],{"class":169},"# Импорт GPG-ключа Docker\n",[58,203,205,208,211,214,218,220,223,226,229,232,235,238,241,244,248,251,254,257,260],{"class":60,"line":204},5,[58,206,207],{"class":64},"curl",[58,209,210],{"class":68}," -fsSL",[58,212,213],{"class":113}," https://download.docker.com/linux/",[58,215,217],{"class":216},"sVt8B","$(",[58,219,76],{"class":68},[58,221,222],{"class":113}," /etc/os-release",[58,224,225],{"class":216},"; ",[58,227,228],{"class":68},"echo",[58,230,231],{"class":113}," \"",[58,233,234],{"class":216},"$ID",[58,236,237],{"class":113},"\"",[58,239,240],{"class":216},")",[58,242,243],{"class":113},"/gpg",[58,245,247],{"class":246},"szBVR"," |",[58,249,250],{"class":64}," sudo",[58,252,253],{"class":113}," gpg",[58,255,256],{"class":68}," --dearmor",[58,258,259],{"class":68}," -o",[58,261,262],{"class":113}," /etc/apt/keyrings/docker.gpg\n",[58,264,266],{"class":60,"line":265},6,[58,267,195],{"emptyLinePlaceholder":194},[58,269,271],{"class":60,"line":270},7,[58,272,273],{"class":169},"# Добавление репозитория\n",[58,275,277,279],{"class":60,"line":276},8,[58,278,228],{"class":68},[58,280,281],{"class":68}," \\\n",[58,283,285,288,291,294,297,299,302,304,306,308,311],{"class":60,"line":284},9,[58,286,287],{"class":113},"  \"deb [arch=$(",[58,289,290],{"class":64},"dpkg",[58,292,293],{"class":68}," --print-architecture",[58,295,296],{"class":113},") signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(",[58,298,76],{"class":68},[58,300,301],{"class":113}," /etc/os-release; ",[58,303,228],{"class":68},[58,305,231],{"class":113},[58,307,234],{"class":216},[58,309,310],{"class":113},"\") ",[58,312,313],{"class":68},"\\\n",[58,315,317,320,322,324,326,328,331,334,336],{"class":60,"line":316},10,[58,318,319],{"class":113},"  $(",[58,321,76],{"class":68},[58,323,301],{"class":113},[58,325,228],{"class":68},[58,327,231],{"class":113},[58,329,330],{"class":216},"$VERSION_CODENAME",[58,332,333],{"class":113},"\") stable\"",[58,335,247],{"class":246},[58,337,281],{"class":68},[58,339,341,344,347,350,353],{"class":60,"line":340},11,[58,342,343],{"class":64},"  sudo",[58,345,346],{"class":113}," tee",[58,348,349],{"class":113}," /etc/apt/sources.list.d/docker.list",[58,351,352],{"class":246}," >",[58,354,355],{"class":113}," /dev/null\n",[22,357,358],{},[143,359,360],{},"Для RPM-систем команды добавления репозитория отличаются. Например, для CentOS:",[49,362,364],{"className":51,"code":363,"language":53,"meta":54,"style":54},"sudo yum install -y yum-utils\nsudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo\n",[26,365,366,380],{"__ignoreMap":54},[58,367,368,370,373,375,377],{"class":60,"line":61},[58,369,110],{"class":64},[58,371,372],{"class":113}," yum",[58,374,127],{"class":113},[58,376,130],{"class":68},[58,378,379],{"class":113}," yum-utils\n",[58,381,382,384,387,390],{"class":60,"line":120},[58,383,110],{"class":64},[58,385,386],{"class":113}," yum-config-manager",[58,388,389],{"class":68}," --add-repo",[58,391,392],{"class":113}," https://download.docker.com/linux/centos/docker-ce.repo\n",[394,395],"in-article-ad",{},[94,397,399],{"id":398},"шаг-3-установите-docker-compose","Шаг 3: Установите Docker Compose",[22,401,402],{},"Теперь установите сам плагин Docker Compose из только что добавленного репозитория.",[49,404,406],{"className":51,"code":405,"language":53,"meta":54,"style":54},"sudo apt-get update\nsudo apt-get install -y docker-compose-plugin\n",[26,407,408,416],{"__ignoreMap":54},[58,409,410,412,414],{"class":60,"line":61},[58,411,110],{"class":64},[58,413,114],{"class":113},[58,415,117],{"class":113},[58,417,418,420,422,424,426],{"class":60,"line":120},[58,419,110],{"class":64},[58,421,114],{"class":113},[58,423,127],{"class":113},[58,425,130],{"class":68},[58,427,428],{"class":113}," docker-compose-plugin\n",[22,430,431],{},[143,432,433,434,437,438,441],{},"После установки команда для работы с Compose v2 будет ",[26,435,436],{},"docker compose"," (с пробелом). Старая версия v1 (",[26,439,440],{},"docker-compose",") больше не поддерживается.",[94,443,445],{"id":444},"шаг-4-проверьте-установку","Шаг 4: Проверьте установку",[22,447,448],{},"Убедитесь, что Docker Compose установлен корректно и доступен из командной строки.",[49,450,452],{"className":51,"code":451,"language":53,"meta":54,"style":54},"docker compose version\n",[26,453,454],{"__ignoreMap":54},[58,455,456,458,461],{"class":60,"line":61},[58,457,65],{"class":64},[58,459,460],{"class":113}," compose",[58,462,463],{"class":113}," version\n",[22,465,466],{},"Вы должны увидеть вывод, похожий на:",[49,468,473],{"className":469,"code":471,"language":472},[470],"language-text","Docker Compose version v2.24.5\n","text",[26,474,471],{"__ignoreMap":54},[94,476,478],{"id":477},"шаг-5-запустите-тестовый-контейнер-для-проверки","Шаг 5: Запустите тестовый контейнер для проверки",[22,480,481,482,484],{},"Создайте в домашней директории простой файл ",[26,483,28],{},":",[49,486,488],{"className":51,"code":487,"language":53,"meta":54,"style":54},"mkdir ~/test-compose && cd ~/test-compose\ncat > docker-compose.yml \u003C\u003CEOF\nversion: '3.8'\nservices:\n  hello-world:\n    image: hello-world\nEOF\n",[26,489,490,507,523,528,533,538,543],{"__ignoreMap":54},[58,491,492,495,498,501,504],{"class":60,"line":61},[58,493,494],{"class":64},"mkdir",[58,496,497],{"class":113}," ~/test-compose",[58,499,500],{"class":216}," && ",[58,502,503],{"class":68},"cd",[58,505,506],{"class":113}," ~/test-compose\n",[58,508,509,512,514,517,520],{"class":60,"line":120},[58,510,511],{"class":64},"cat",[58,513,352],{"class":246},[58,515,516],{"class":113}," docker-compose.yml",[58,518,519],{"class":246}," \u003C\u003C",[58,521,522],{"class":113},"EOF\n",[58,524,525],{"class":60,"line":191},[58,526,527],{"class":113},"version: '3.8'\n",[58,529,530],{"class":60,"line":198},[58,531,532],{"class":113},"services:\n",[58,534,535],{"class":60,"line":204},[58,536,537],{"class":113},"  hello-world:\n",[58,539,540],{"class":60,"line":265},[58,541,542],{"class":113},"    image: hello-world\n",[58,544,545],{"class":60,"line":270},[58,546,522],{"class":113},[22,548,549],{},"Запустите сервис:",[49,551,553],{"className":51,"code":552,"language":53,"meta":54,"style":54},"docker compose up\n",[26,554,555],{"__ignoreMap":54},[58,556,557,559,561],{"class":60,"line":61},[58,558,65],{"class":64},[58,560,460],{"class":113},[58,562,563],{"class":113}," up\n",[22,565,566,567,570],{},"Если вы видите вывод от контейнера ",[26,568,569],{},"hello-world"," и сообщение о завершении работы — установка прошла успешно.",[17,572,574],{"id":573},"проверка-результата","Проверка результата",[22,576,577,578,581,582,584,585,587],{},"Главный indicator успеха — это возможность выполнить команду ",[26,579,580],{},"docker compose version"," без ошибок и успешно запустить тестовый сервис из шага 5. Также убедитесь, что ваш пользователь добавлен в группу ",[26,583,65],{}," (если вы хотите использовать Docker без ",[26,586,110],{},"):",[49,589,591],{"className":51,"code":590,"language":53,"meta":54,"style":54},"sudo usermod -aG docker $USER\n",[26,592,593],{"__ignoreMap":54},[58,594,595,597,600,603,606],{"class":60,"line":61},[58,596,110],{"class":64},[58,598,599],{"class":113}," usermod",[58,601,602],{"class":68}," -aG",[58,604,605],{"class":113}," docker",[58,607,608],{"class":216}," $USER\n",[22,610,611],{},[143,612,613],{},"Изменения вступят в силу после выхода и повторного входа в систему.",[17,615,617],{"id":616},"возможные-проблемы","Возможные проблемы",[22,619,620],{},[44,621,622,623,626,627],{},"Ошибка: ",[26,624,625],{},"docker: command not found"," или ",[26,628,629],{},"docker compose: command not found",[631,632,633,636],"ul",{},[41,634,635],{},"Причина: Docker не установлен или не добавлен в PATH.",[41,637,638,639,642],{},"Решение: Установите Docker Engine, как описано в требованиях. Перезапустите терминал или выполните ",[26,640,641],{},"newgrp docker"," после добавления пользователя в группу.",[22,644,645],{},[44,646,622,647],{},[26,648,649],{},"permission denied while trying to connect to the Docker daemon socket",[631,651,652,655],{},[41,653,654],{},"Причина: Текущий пользователь не имеет прав на управление Docker.",[41,656,657,658,660,661,663],{},"Решение: Добавьте пользователя в группу ",[26,659,65],{}," (см. выше) и перелогиньтесь. Либо используйте ",[26,662,110],{}," перед командами.",[22,665,666],{},[44,667,668],{},"Ошибка при добавлении репозитория (GPG key)",[631,670,671,677],{},[41,672,673,674,76],{},"Причина: Проблемы с сетью или устаревшие пакеты ",[26,675,676],{},"gnupg",[41,678,679,680,149,683,685,686,689],{},"Решение: Убедитесь, что установлены ",[26,681,682],{},"ca-certificates",[26,684,676],{},". Повторите шаг 2. Для старых систем может потребоваться использовать утилиту ",[26,687,688],{},"apt-key"," (устарела, но иногда работает).",[691,692,693],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":54,"searchDepth":120,"depth":120,"links":695},[696,697,698,705,706],{"id":19,"depth":120,"text":20},{"id":32,"depth":120,"text":33},{"id":91,"depth":120,"text":92,"children":699},[700,701,702,703,704],{"id":96,"depth":191,"text":97},{"id":155,"depth":191,"text":156},{"id":398,"depth":191,"text":399},{"id":444,"depth":191,"text":445},{"id":477,"depth":191,"text":478},{"id":573,"depth":120,"text":574},{"id":616,"depth":120,"text":617},null,"2026-04-08 18:45:19","Установите Docker Compose на Ubuntu, Debian, CentOS или других Linux-дистрибутивах. Полное руководство с командами и проверкой работы за 5 минут.","easy",false,"5-10 мин","md",[715,718,721,724],{"question":716,"answer":717},"Какая версия Docker Compose устанавливается по умолчанию?","Скрипт установки из официального репозитория Docker устанавливает последнюю стабильную версию Docker Compose v2 (плагин).",{"question":719,"answer":720},"Что делать, если команда 'docker-compose' не найдена после установки?","Вероятно, вы установили Docker Compose v2, где команда называется `docker compose` (с пробелом). Проверьте наличие плагина командой `docker compose version`.",{"question":722,"answer":723},"Можно ли установить Docker Compose без Docker?","Нет, Docker Compose является надстройкой над Docker Engine и требует его предварительной установки и запуска.",{"question":725,"answer":726},"Как обновить Docker Compose до новой версии?","Для v2 (плагина) обновите пакет `docker-compose-plugin` через менеджер пакетов. Для устаревшей v1 загрузите новый бинарник и замените старый.",[728,731,734,737,740],{"name":729,"text":730},"Обновите индекс пакетов и установите зависимости","Обновите локальный индекс пакетов и установите пакеты, необходимые для добавления репозитория Docker.",{"name":732,"text":733},"Добавьте официальный репозиторий Docker","Импортируйте GPG-ключ Docker и добавьте стабильный репозиторий в систему.",{"name":735,"text":736},"Установите Docker Compose","Установите пакет `docker-compose-plugin` из репозитория Docker. Это установит Docker Compose v2 как плагин к Docker CLI.",{"name":738,"text":739},"Проверьте установку","Выполните команду для проверки версии Docker Compose, чтобы убедиться в успешной установке.",{"name":741,"text":742},"Запустите тестовый контейнер для проверки","Создайте простой `docker-compose.yml` и запустите сервис, чтобы убедиться, что всё работает end-to-end.","PT10M",[745,746,747,748,749,750,751],"установка docker compose","docker compose linux установка","как поставить docker compose","docker-compose ubuntu","установить docker compose centos","docker compose команда не найдена","инструкция по docker compose","ru_RU",{},"/guides/linux/docker-compose-install","linux",[74,757,758],"/errors/linux/docker-permission-denied","/guides/linux/docker-get-started","Гайды Docker",{"title":5,"description":709},"guides/linux/docker-compose-install","Это руководство поможет вам установить Docker Compose на Linux-систему. Вы получите работающий инструмент для управления многоконтейнерными приложениями Docker.",[764,440,755,765,766],"гайды docker","установка","containerization","guide","Ea56umhFEoTamzW_4qXyp280iitCtviDnrye9RnRqSs",{"data":770,"body":771},{},{"type":772,"children":773},"root",[774],{"type":775,"tag":22,"props":776,"children":777},"element",{},[778],{"type":472,"value":717},{"data":780,"body":781},{},{"type":772,"children":782},[783],{"type":775,"tag":22,"props":784,"children":785},{},[786,788,793,795,800],{"type":472,"value":787},"Вероятно, вы установили Docker Compose v2, где команда называется ",{"type":775,"tag":26,"props":789,"children":791},{"className":790},[],[792],{"type":472,"value":436},{"type":472,"value":794}," (с пробелом). Проверьте наличие плагина командой ",{"type":775,"tag":26,"props":796,"children":798},{"className":797},[],[799],{"type":472,"value":580},{"type":472,"value":76},{"data":802,"body":803},{},{"type":772,"children":804},[805],{"type":775,"tag":22,"props":806,"children":807},{},[808],{"type":472,"value":723},{"data":810,"body":811},{},{"type":772,"children":812},[813],{"type":775,"tag":22,"props":814,"children":815},{},[816,818,824],{"type":472,"value":817},"Для v2 (плагина) обновите пакет ",{"type":775,"tag":26,"props":819,"children":821},{"className":820},[],[822],{"type":472,"value":823},"docker-compose-plugin",{"type":472,"value":825}," через менеджер пакетов. Для устаревшей v1 загрузите новый бинарник и замените старый.",{"data":827,"body":828},{},{"type":772,"children":829},[830],{"type":775,"tag":22,"props":831,"children":832},{},[833],{"type":472,"value":730},{"data":835,"body":836},{},{"type":772,"children":837},[838],{"type":775,"tag":22,"props":839,"children":840},{},[841],{"type":472,"value":733},{"data":843,"body":844},{},{"type":772,"children":845},[846],{"type":775,"tag":22,"props":847,"children":848},{},[849,851,856],{"type":472,"value":850},"Установите пакет ",{"type":775,"tag":26,"props":852,"children":854},{"className":853},[],[855],{"type":472,"value":823},{"type":472,"value":857}," из репозитория Docker. Это установит Docker Compose v2 как плагин к Docker CLI.",{"data":859,"body":860},{},{"type":772,"children":861},[862],{"type":775,"tag":22,"props":863,"children":864},{},[865],{"type":472,"value":739},{"data":867,"body":868},{},{"type":772,"children":869},[870],{"type":775,"tag":22,"props":871,"children":872},{},[873,875,880],{"type":472,"value":874},"Создайте простой ",{"type":775,"tag":26,"props":876,"children":878},{"className":877},[],[879],{"type":472,"value":28},{"type":472,"value":881}," и запустите сервис, чтобы убедиться, что всё работает end-to-end.",[883],{"id":884,"title":885,"appliesTo":886,"author":12,"body":892,"canonical":707,"code":929,"createdAt":1871,"description":1872,"difficulty":1873,"draft":711,"estimatedTime":1874,"extension":713,"faq":1875,"howToSteps":1888,"howToTotalTime":707,"image":707,"keywords":1901,"locale":752,"meta":1912,"navigation":194,"path":757,"platform":755,"related":1913,"section":1917,"seo":1918,"severity":1919,"stem":1920,"summary":1921,"tags":1922,"twitterCreator":707,"twitterSite":707,"type":1927,"updatedAt":1871,"__hash__":1928},"content_ru/errors/linux/docker-permission-denied.md","Docker permission denied: причины и 5 проверенных способов решения",[887,888,889,890,891],"Ubuntu 20.04+","Debian 11+","CentOS 8+","RHEL 8+","Fedora 35+",{"type":14,"value":893,"toc":1857},[894,901,910,913,921,935,938,1012,1015,1068,1074,1078,1172,1179,1182,1189,1205,1212,1220,1229,1234,1241,1256,1259,1273,1280,1283,1305,1310,1321,1325,1331,1336,1352,1355,1361,1369,1374,1403,1408,1426,1439,1443,1453,1458,1481,1486,1501,1504,1524,1545,1554,1570,1575,1589,1593,1598,1617,1623,1628,1643,1646,1666,1671,1690,1692,1696,1745,1749,1767,1788,1803,1822,1842,1854],[22,895,896,897,900],{},"-",[26,898,899],{},"и владелец","root:docker`.\"",[631,902,903],{},[41,904,905,906,909],{},"name: \"Временное решение через sudo\"\ntext: \"Для срочного запуска используйте ",[26,907,908],{},"sudo docker ...",", но это не рекомендуется для повседневной работы из-за рисков безопасности.\"\nhowToTotalTime: \"PT15M\"",[911,912],"hr",{},[17,914,916,917,920],{"id":915},"что-означает-ошибка-permission-denied-в-docker","Что означает ошибка ",[26,918,919],{},"permission denied"," в Docker",[22,922,923,924,926,927,930,931,934],{},"Ошибка ",[26,925,919],{}," (иногда с кодом ",[26,928,929],{},"EACCES",") означает, что текущий пользователь Linux не имеет прав на доступ к демону Docker (через сокет ",[26,932,933],{},"/var/run/docker.sock",") или к файлам/директориям внутри контейнера/образов.",[22,936,937],{},"Типичный полный текст:",[49,939,941],{"className":51,"code":940,"language":53,"meta":54,"style":54},"docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post \"http://%2Fvar%2Frun%2Fdocker.sock/v1.41/containers/create\": dial unix /var/run/docker.sock: connect: permission denied.\n",[26,942,943],{"__ignoreMap":54},[58,944,945,948,951,954,957,960,963,966,969,971,974,977,980,983,986,989,992,995,998,1001,1004,1007,1009],{"class":60,"line":61},[58,946,947],{"class":64},"docker:",[58,949,950],{"class":113}," Got",[58,952,953],{"class":113}," permission",[58,955,956],{"class":113}," denied",[58,958,959],{"class":113}," while",[58,961,962],{"class":113}," trying",[58,964,965],{"class":113}," to",[58,967,968],{"class":113}," connect",[58,970,965],{"class":113},[58,972,973],{"class":113}," the",[58,975,976],{"class":113}," Docker",[58,978,979],{"class":113}," daemon",[58,981,982],{"class":113}," socket",[58,984,985],{"class":113}," at",[58,987,988],{"class":113}," unix:///var/run/docker.sock:",[58,990,991],{"class":113}," Post",[58,993,994],{"class":113}," \"http://%2Fvar%2Frun%2Fdocker.sock/v1.41/containers/create\":",[58,996,997],{"class":113}," dial",[58,999,1000],{"class":113}," unix",[58,1002,1003],{"class":113}," /var/run/docker.sock:",[58,1005,1006],{"class":113}," connect:",[58,1008,953],{"class":113},[58,1010,1011],{"class":113}," denied.\n",[22,1013,1014],{},"Или при работе с файлами:",[49,1016,1018],{"className":51,"code":1017,"language":53,"meta":54,"style":54},"docker: Error response from daemon: Get \"https://registry-1.docker.io/v2/\": dial tcp: lookup registry-1.docker.io: Temporary failure in name resolution.\n",[26,1019,1020],{"__ignoreMap":54},[58,1021,1022,1024,1027,1030,1033,1036,1039,1042,1044,1047,1050,1053,1056,1059,1062,1065],{"class":60,"line":61},[58,1023,947],{"class":64},[58,1025,1026],{"class":113}," Error",[58,1028,1029],{"class":113}," response",[58,1031,1032],{"class":113}," from",[58,1034,1035],{"class":113}," daemon:",[58,1037,1038],{"class":113}," Get",[58,1040,1041],{"class":113}," \"https://registry-1.docker.io/v2/\":",[58,1043,997],{"class":113},[58,1045,1046],{"class":113}," tcp:",[58,1048,1049],{"class":113}," lookup",[58,1051,1052],{"class":113}," registry-1.docker.io:",[58,1054,1055],{"class":113}," Temporary",[58,1057,1058],{"class":113}," failure",[58,1060,1061],{"class":113}," in",[58,1063,1064],{"class":113}," name",[58,1066,1067],{"class":113}," resolution.\n",[22,1069,1070,1071,1073],{},"Ошибка появляется при выполнении любых команд ",[26,1072,65],{}," (run, ps, build, pull) от обычного пользователя.",[17,1075,1077],{"id":1076},"причины-возникновения","Причины возникновения",[38,1079,1080,1097,1114,1129,1143,1158],{},[41,1081,1082,1087,1090,1091,1093,1094,1096],{},[44,1083,1084,1085],{},"Пользователь не состоит в группе ",[26,1086,65],{},[1088,1089],"br",{},"\nПо умолчанию сокет ",[26,1092,933],{}," принадлежит группе ",[26,1095,65],{},". Если пользователь не в этой группе, доступ запрещён.",[41,1098,1099,1104,1106,1107,1110,1111,76],{},[44,1100,1101,1102],{},"Неправильные права на сокет ",[26,1103,933],{},[1088,1105],{},"\nНапример, если сокет создан с правами ",[26,1108,1109],{},"600"," (только root) или владельцем ",[26,1112,1113],{},"root:root",[41,1115,1116,1119,1121,1122,1125,1126,76],{},[44,1117,1118],{},"SELinux в режиме enforcing (RHEL/CentOS/Fedora)",[1088,1120],{},"\nSELinux может блокировать доступ Docker к сокету или файлам. Часто проявляется в сообщениях ",[26,1123,1124],{},"avc: denied"," в ",[26,1127,1128],{},"audit.log",[41,1130,1131,1134,1136,1137,626,1140,76],{},[44,1132,1133],{},"AppArmor (Ubuntu/Debian)",[1088,1135],{},"\nПрофили AppArmor могут ограничивать доступ Docker. Ошибки в ",[26,1138,1139],{},"syslog",[26,1141,1142],{},"dmesg",[41,1144,1145,1148,1150,1151,1154,1155,76],{},[44,1146,1147],{},"Попытка монтирования хостовой директории без прав",[1088,1149],{},"\nПри ",[26,1152,1153],{},"docker run -v /host/path:/container"," если у пользователя нет прав на чтение/запись в ",[26,1156,1157],{},"/host/path",[41,1159,1160,1169,1171],{},[44,1161,1162,1163,626,1166],{},"Файловая система смонтирована с опцией ",[26,1164,1165],{},"noexec",[26,1167,1168],{},"nosuid",[1088,1170],{},"\nМожет мешать выполнению бинарников внутри контейнера.",[17,1173,1175,1176,1178],{"id":1174},"способ-1-добавить-пользователя-в-группу-docker-рекомендуемый","Способ 1: Добавить пользователя в группу ",[26,1177,65],{}," (рекомендуемый)",[22,1180,1181],{},"Это каноническое решение для большинства дистрибутивов.",[38,1183,1184],{},[41,1185,1186,1187,484],{},"Добавьте текущего пользователя в группу ",[26,1188,65],{},[49,1190,1191],{"className":51,"code":590,"language":53,"meta":54,"style":54},[26,1192,1193],{"__ignoreMap":54},[58,1194,1195,1197,1199,1201,1203],{"class":60,"line":61},[58,1196,110],{"class":64},[58,1198,599],{"class":113},[58,1200,602],{"class":68},[58,1202,605],{"class":113},[58,1204,608],{"class":216},[22,1206,1207,1208,1211],{},"Флаг ",[26,1209,1210],{},"-aG"," (append to group) критически важен — без него пользователь может быть удалён из других групп.",[38,1213,1214],{"start":120},[41,1215,1216,1219],{},[44,1217,1218],{},"Примените изменения",": выйдите из терминала и системы (или перезагрузите). В новом сеансе проверьте:",[49,1221,1223],{"className":51,"code":1222,"language":53,"meta":54,"style":54},"groups\n",[26,1224,1225],{"__ignoreMap":54},[58,1226,1227],{"class":60,"line":61},[58,1228,1222],{"class":64},[22,1230,1231,1232,76],{},"В списке должна быть ",[26,1233,65],{},[38,1235,1236],{"start":191},[41,1237,1238,1239,484],{},"Проверьте, что команды работают без ",[26,1240,110],{},[49,1242,1244],{"className":51,"code":1243,"language":53,"meta":54,"style":54},"docker run hello-world\n",[26,1245,1246],{"__ignoreMap":54},[58,1247,1248,1250,1253],{"class":60,"line":61},[58,1249,65],{"class":64},[58,1251,1252],{"class":113}," run",[58,1254,1255],{"class":113}," hello-world\n",[22,1257,1258],{},"Если контейнер запустился — проблема решена.",[1260,1261,1262],"blockquote",{},[22,1263,1264,1265,1268,1269,1272],{},"⚠️ ",[44,1266,1267],{},"Важно:"," После добавления в группу необходимо ",[44,1270,1271],{},"новый логин",". Это распространённая ошибка.",[17,1274,1276,1277,1279],{"id":1275},"способ-2-временный-запуск-через-sudo-не-для-продакшена","Способ 2: Временный запуск через ",[26,1278,110],{}," (не для продакшена)",[22,1281,1282],{},"Если нужно срочно запустить контейнер, а настройку групп сделать нельзя:",[49,1284,1286],{"className":51,"code":1285,"language":53,"meta":54,"style":54},"sudo docker run -it ubuntu bash\n",[26,1287,1288],{"__ignoreMap":54},[58,1289,1290,1292,1294,1296,1299,1302],{"class":60,"line":61},[58,1291,110],{"class":64},[58,1293,605],{"class":113},[58,1295,1252],{"class":113},[58,1297,1298],{"class":68}," -it",[58,1300,1301],{"class":113}," ubuntu",[58,1303,1304],{"class":113}," bash\n",[22,1306,1307],{},[44,1308,1309],{},"Недостатки:",[631,1311,1312,1315,1318],{},[41,1313,1314],{},"Контейнер получает root-права хоста (опасность).",[41,1316,1317],{},"Файлы, созданные в контейнере, будут принадлежать root на хосте.",[41,1319,1320],{},"Неудобно для повседневной работы.",[17,1322,1324],{"id":1323},"способ-3-проверитьисправить-права-на-сокет-вручную","Способ 3: Проверить/исправить права на сокет вручную",[22,1326,1327,1328,1330],{},"Если группа ",[26,1329,65],{}," есть, но доступ всё равно denied:",[38,1332,1333],{},[41,1334,1335],{},"Проверьте текущие права:",[49,1337,1339],{"className":51,"code":1338,"language":53,"meta":54,"style":54},"ls -l /var/run/docker.sock\n",[26,1340,1341],{"__ignoreMap":54},[58,1342,1343,1346,1349],{"class":60,"line":61},[58,1344,1345],{"class":64},"ls",[58,1347,1348],{"class":68}," -l",[58,1350,1351],{"class":113}," /var/run/docker.sock\n",[22,1353,1354],{},"Ожидаемый вывод:",[49,1356,1359],{"className":1357,"code":1358,"language":472},[470],"srw-rw---- 1 root docker 0 Фев 16 12:00 /var/run/docker.sock\n",[26,1360,1358],{"__ignoreMap":54},[22,1362,1363,1364,1366,1367,484],{},"Если группа не ",[26,1365,65],{}," или права ",[26,1368,1109],{},[38,1370,1371],{"start":120},[41,1372,1373],{},"Установите правильного владельца и права:",[49,1375,1377],{"className":51,"code":1376,"language":53,"meta":54,"style":54},"sudo chown root:docker /var/run/docker.sock\nsudo chmod 660 /var/run/docker.sock\n",[26,1378,1379,1391],{"__ignoreMap":54},[58,1380,1381,1383,1386,1389],{"class":60,"line":61},[58,1382,110],{"class":64},[58,1384,1385],{"class":113}," chown",[58,1387,1388],{"class":113}," root:docker",[58,1390,1351],{"class":113},[58,1392,1393,1395,1398,1401],{"class":60,"line":120},[58,1394,110],{"class":64},[58,1396,1397],{"class":113}," chmod",[58,1399,1400],{"class":68}," 660",[58,1402,1351],{"class":113},[38,1404,1405],{"start":191},[41,1406,1407],{},"Перезапустите Docker (на всякий случай):",[49,1409,1411],{"className":51,"code":1410,"language":53,"meta":54,"style":54},"sudo systemctl restart docker\n",[26,1412,1413],{"__ignoreMap":54},[58,1414,1415,1417,1420,1423],{"class":60,"line":61},[58,1416,110],{"class":64},[58,1418,1419],{"class":113}," systemctl",[58,1421,1422],{"class":113}," restart",[58,1424,1425],{"class":113}," docker\n",[1260,1427,1428],{},[22,1429,1430,1431,1434,1435,1438],{},"💡 ",[44,1432,1433],{},"Совет:"," Права на сокет сбрасываются при перезагрузке Docker. Если проблема возвращается, проверьте конфигурацию демона (",[26,1436,1437],{},"/etc/docker/daemon.json",") или системные unit-файлы.",[17,1440,1442],{"id":1441},"способ-4-настройка-selinux-для-rhelcentosfedora","Способ 4: Настройка SELinux (для RHEL/CentOS/Fedora)",[22,1444,1445,1446,1449,1450,484],{},"Если ",[26,1447,1448],{},"getenforce"," возвращает ",[26,1451,1452],{},"Enforcing",[38,1454,1455],{},[41,1456,1457],{},"Проверьте логи SELinux на наличие отказов:",[49,1459,1461],{"className":51,"code":1460,"language":53,"meta":54,"style":54},"sudo ausearch -m avc -ts recent\n",[26,1462,1463],{"__ignoreMap":54},[58,1464,1465,1467,1470,1472,1475,1478],{"class":60,"line":61},[58,1466,110],{"class":64},[58,1468,1469],{"class":113}," ausearch",[58,1471,179],{"class":68},[58,1473,1474],{"class":113}," avc",[58,1476,1477],{"class":68}," -ts",[58,1479,1480],{"class":113}," recent\n",[38,1482,1483],{"start":120},[41,1484,1485],{},"Самый быстрый способ (временно, до перезагрузки):",[49,1487,1489],{"className":51,"code":1488,"language":53,"meta":54,"style":54},"sudo setenforce 0\n",[26,1490,1491],{"__ignoreMap":54},[58,1492,1493,1495,1498],{"class":60,"line":61},[58,1494,110],{"class":64},[58,1496,1497],{"class":113}," setenforce",[58,1499,1500],{"class":68}," 0\n",[22,1502,1503],{},"Попробуйте запустить Docker. Если сработало — проблема в SELinux.",[38,1505,1506],{"start":191},[41,1507,1508,1509],{},"Для постоянного решения:\n",[631,1510,1511,1521],{},[41,1512,1513,1514,1125,1517,1520],{},"Либо переведите SELinux в режим ",[26,1515,1516],{},"permissive",[26,1518,1519],{},"/etc/selinux/config"," (небезопасно).",[41,1522,1523],{},"Либо создайте правильный политику:",[49,1525,1527],{"className":51,"code":1526,"language":53,"meta":54,"style":54},"sudo semanage permissive -a docker_t\n",[26,1528,1529],{"__ignoreMap":54},[58,1530,1531,1533,1536,1539,1542],{"class":60,"line":61},[58,1532,110],{"class":64},[58,1534,1535],{"class":113}," semanage",[58,1537,1538],{"class":113}," permissive",[58,1540,1541],{"class":68}," -a",[58,1543,1544],{"class":113}," docker_t\n",[631,1546,1547],{},[41,1548,1549,1550,1553],{},"Или установите пакет ",[26,1551,1552],{},"docker-selinux"," (если не установлен):",[49,1555,1557],{"className":51,"code":1556,"language":53,"meta":54,"style":54},"sudo yum install docker-selinux\n",[26,1558,1559],{"__ignoreMap":54},[58,1560,1561,1563,1565,1567],{"class":60,"line":61},[58,1562,110],{"class":64},[58,1564,372],{"class":113},[58,1566,127],{"class":113},[58,1568,1569],{"class":113}," docker-selinux\n",[38,1571,1572],{"start":198},[41,1573,1574],{},"Верните enforcing:",[49,1576,1578],{"className":51,"code":1577,"language":53,"meta":54,"style":54},"sudo setenforce 1\n",[26,1579,1580],{"__ignoreMap":54},[58,1581,1582,1584,1586],{"class":60,"line":61},[58,1583,110],{"class":64},[58,1585,1497],{"class":113},[58,1587,1588],{"class":68}," 1\n",[17,1590,1592],{"id":1591},"способ-5-настройка-apparmor-ubuntudebian","Способ 5: Настройка AppArmor (Ubuntu/Debian)",[38,1594,1595],{},[41,1596,1597],{},"Проверьте, загружен ли профиль Docker:",[49,1599,1601],{"className":51,"code":1600,"language":53,"meta":54,"style":54},"sudo apparmor_status | grep docker\n",[26,1602,1603],{"__ignoreMap":54},[58,1604,1605,1607,1610,1612,1615],{"class":60,"line":61},[58,1606,110],{"class":64},[58,1608,1609],{"class":113}," apparmor_status",[58,1611,247],{"class":246},[58,1613,1614],{"class":64}," grep",[58,1616,1425],{"class":113},[22,1618,1619,1620,76],{},"Должно быть ",[26,1621,1622],{},"docker-default (enforced)",[38,1624,1625],{"start":120},[41,1626,1627],{},"Если профиль вызывает проблемы, можно его отключить (временно):",[49,1629,1631],{"className":51,"code":1630,"language":53,"meta":54,"style":54},"sudo aa-disable /etc/apparmor.d/docker\n",[26,1632,1633],{"__ignoreMap":54},[58,1634,1635,1637,1640],{"class":60,"line":61},[58,1636,110],{"class":64},[58,1638,1639],{"class":113}," aa-disable",[58,1641,1642],{"class":113}," /etc/apparmor.d/docker\n",[22,1644,1645],{},"Или для конкретного контейнера:",[49,1647,1649],{"className":51,"code":1648,"language":53,"meta":54,"style":54},"docker run --security-opt apparmor=unconfined ...\n",[26,1650,1651],{"__ignoreMap":54},[58,1652,1653,1655,1657,1660,1663],{"class":60,"line":61},[58,1654,65],{"class":64},[58,1656,1252],{"class":113},[58,1658,1659],{"class":68}," --security-opt",[58,1661,1662],{"class":113}," apparmor=unconfined",[58,1664,1665],{"class":113}," ...\n",[38,1667,1668],{"start":191},[41,1669,1670],{},"Для постоянного решения переустановите Docker (профиль пересоздастся):",[49,1672,1674],{"className":51,"code":1673,"language":53,"meta":54,"style":54},"sudo apt-get install --reinstall docker-ce\n",[26,1675,1676],{"__ignoreMap":54},[58,1677,1678,1680,1682,1684,1687],{"class":60,"line":61},[58,1679,110],{"class":64},[58,1681,114],{"class":113},[58,1683,127],{"class":113},[58,1685,1686],{"class":68}," --reinstall",[58,1688,1689],{"class":113}," docker-ce\n",[394,1691],{},[17,1693,1695],{"id":1694},"профилактика","Профилактика",[631,1697,1698,1709,1717,1723,1733,1739],{},[41,1699,1700,1703,1704,1706,1707,76],{},[44,1701,1702],{},"Никогда не работайте от root без необходимости."," Добавляйте пользователей в группу ",[26,1705,65],{}," вместо использования ",[26,1708,110],{},[41,1710,1711,1716],{},[44,1712,1713,1714],{},"Регулярно проверяйте права на ",[26,1715,933],{}," после обновлений системы или Docker.",[41,1718,1719,1722],{},[44,1720,1721],{},"В продакшн-среде используйте rootless Docker"," (если поддерживается дистрибутивом) — это изолирует демон от root.",[41,1724,1725,1728,1729,1732],{},[44,1726,1727],{},"Для монтирования хостовых директорий"," убедитесь, что у пользователя есть права на них (например, ",[26,1730,1731],{},"chmod o+rx /host/path"," для чтения).",[41,1734,1735,1738],{},[44,1736,1737],{},"В дистрибутивах с SELinux/AppArmor"," не отключайте их полностью — настраивайте политики под Docker.",[41,1740,1741,1744],{},[44,1742,1743],{},"После Changes в группах"," напоминайте пользователям о необходимости перелогина.",[17,1746,1748],{"id":1747},"faq","FAQ",[22,1750,1751,1757,1759,1760,1763,1764,1766],{},[44,1752,1753,1754,1756],{},"Q: Почему после добавления в группу ",[26,1755,65],{}," ошибка всё ещё есть?",[1088,1758],{},"\nA: Скорее всего, вы не вышли и не зашли заново в систему. Группы загружаются при логине. Проверьте ",[26,1761,1762],{},"id -nG"," — если ",[26,1765,65],{}," нет, нужно новый сеанс.",[22,1768,1769,1778,1780,1781,1784,1785,1787],{},[44,1770,1771,1772,1774,1775,1777],{},"Q: Можно ли изменить группу сокета на ",[26,1773,110],{}," вместо ",[26,1776,65],{},"?",[1088,1779],{},"\nA: Технически ",[26,1782,1783],{},"sudo chown root:sudo /var/run/docker.sock"," сработает, но это нарушает принцип наименьших привилегий. Группа ",[26,1786,65],{}," создана специально для этого.",[22,1789,1790,1796,1798,1799,1802],{},[44,1791,1792,1793,1795],{},"Q: Как добавить группу ",[26,1794,65],{},", если её нет?",[1088,1797],{},"\nA: Группа создаётся автоматически при установке Docker. Если её нет, переустановите Docker или создайте вручную: ",[26,1800,1801],{},"sudo groupadd docker"," (обычно не требуется).",[22,1804,1805,1814,1816,1817,1819,1820,76],{},[44,1806,1807,1808,149,1810,1813],{},"Q: В чём разница между ",[26,1809,65],{},[26,1811,1812],{},"docker-root"," группами?",[1088,1815],{},"\nA: В некоторых дистрибутивах (например, older RHEL) может быть группа ",[26,1818,1812],{},". Она используется для rootless mode. Для обычного Docker нужна ",[26,1821,65],{},[22,1823,1824,1831,1833,1834,1837,1838,1841],{},[44,1825,1826,1827,1830],{},"Q: Почему ",[26,1828,1829],{},"chmod 666 /var/run/docker.sock"," — плохая идея?",[1088,1832],{},"\nA: Это даёт ",[44,1835,1836],{},"всем"," пользователям полный доступ к Docker-демону. Любой локальный пользователь сможет управлять контейнерами, включая запуск с привилегиями ",[26,1839,1840],{},"--privileged",", что эквивалентно root-доступу.",[22,1843,1844,1847,1849,1850,1853],{},[44,1845,1846],{},"Q: Как проверить, какой пользователь запущен в контейнере?",[1088,1848],{},"\nA: ",[26,1851,1852],{},"docker exec \u003Ccontainer> id",". Если uid/gid не совпадают с хостовыми, могут быть проблемы с правами на смонтированные volumes.",[691,1855,1856],{},"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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":54,"searchDepth":120,"depth":120,"links":1858},[1859,1861,1862,1864,1866,1867,1868,1869,1870],{"id":915,"depth":120,"text":1860},"Что означает ошибка permission denied в Docker",{"id":1076,"depth":120,"text":1077},{"id":1174,"depth":120,"text":1863},"Способ 1: Добавить пользователя в группу docker (рекомендуемый)",{"id":1275,"depth":120,"text":1865},"Способ 2: Временный запуск через sudo (не для продакшена)",{"id":1323,"depth":120,"text":1324},{"id":1441,"depth":120,"text":1442},{"id":1591,"depth":120,"text":1592},{"id":1694,"depth":120,"text":1695},{"id":1747,"depth":120,"text":1748},"2026-02-16 09:44:59","Ошибка 'permission denied' при запуске Docker? Узнайте, как исправить за 5-15 минут. Пошаговая инструкция для Ubuntu, Debian, CentOS. Добавьте пользователя в группу docker или настройте права.","medium","15-30 мин",[1876,1879,1882,1885],{"answer":1877,"question":1878},"По умолчанию сокет Docker (`/var/run/docker.sock`) принадлежит группе `docker`. Если ваш пользователь не в этой группе, нужны права root (sudo). Добавление в группу решает проблему.","Почему Docker требует sudo, а другие команды нет?",{"answer":1880,"question":1881},"Можно, но это небезопасно. Запуск Docker от root дает контейнерам полный доступ к хосту. Лучше добавить пользователя в группу `docker`.","Можно ли игнорировать ошибку permission denied и работать с sudo?",{"answer":1883,"question":1884},"`usermod` добавляет пользователя в группу `docker` (рекомендуемый, безопасный способ). `chmod 666` даёт всем полный доступ к сокету — это небезопасно и сбрасывается после перезагрузки.","Чем отличается способ с `usermod` от изменения прав на сокет (`chmod`)?",{"answer":1886,"question":1887},"Да, нужно выйти из системы и заново войти (или перезагрузить), чтобы обновить группу. Проверьте `groups` в новом терминале.","Ошибка остаётся после добавления в группу docker?",[1889,1892,1895,1898],{"name":1890,"text":1891},"Добавить текущего пользователя в группу docker","Выполните команду `sudo usermod -aG docker $USER`. Это основной и безопасный способ granting доступа.",{"name":1893,"text":1894},"Применить изменения групп","Выйдите из системы и войдите заново ИЛИ перезагрузите компьютер. Без этого группа не активируется в текущей сессии.",{"name":1896,"text":1897},"Проверить членство в группе","Запустите `groups` в терминале. В выводе должна быть группа `docker`. Также проверьте `docker run hello-world` без sudo.",{"name":1899,"text":1900},"Проверить права на сокет (альтернатива)","Если группа не помогает, проверьте права: `ls -l /var/run/docker.sock`. Должно быть `srw-rw",[1902,1903,1904,1905,1906,1907,1908,1909,1910,1911],"docker permission denied","ошибка доступа docker linux","docker не запускается ошибка","как исправить docker permission denied","docker got permission denied","docker sock permission denied","ошибка eacces docker","запуск docker без sudo","группа docker linux","docker.sock права",{},[1914,1915,1916],"/errors/linux/docker-cannot-connect-to-daemon","/guides/linux/docker-install-ubuntu","/errors/linux/selinux-permission-denied","Ошибки Docker",{"title":885,"description":1872},"high","errors/linux/docker-permission-denied","Статья объясняет, почему возникает ошибка доступа Docker в Linux, и предлагает 5 практических способов её устранения — от добавления пользователя в группу до настройки SELinux/AppArmor.",[1917,1923,1924,65,1925,1926],"permissions","Linux","sysadmin","devops","error","uyX0PdQBhZ3p0O9G_-nxKxMLEh_R_InrSXRp04TngkA"]