[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/install-docker-ce":3,"mdc-cn9j5r-key":867,"mdc--poypth-key":877,"mdc--slrfw9-key":885,"mdc--z4jz9i-key":893,"mdc--mhmrq1-key":901,"mdc-j5e8aq-key":909,"mdc-o5h70b-key":917,"mdc-k2humc-key":925,"mdc--f15zm6-key":933,"mdc-rotwi0-key":941,"related-/guides/linux/docker-basics,/guides/linux/manage-docker-images,/errors/linux/docker-permission-denied":949},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":797,"code":797,"createdAt":798,"description":799,"difficulty":800,"draft":801,"estimatedTime":802,"extension":803,"faq":804,"howToSteps":817,"howToTotalTime":836,"image":797,"keywords":837,"locale":848,"meta":849,"navigation":598,"path":850,"platform":851,"related":852,"section":856,"seo":857,"severity":858,"stem":859,"summary":860,"tags":861,"twitterCreator":797,"twitterSite":797,"type":865,"updatedAt":798,"__hash__":866},"content_ru/guides/linux/install-docker-ce.md","Установка Docker CE на Linux: подробная инструкция для Ubuntu, CentOS",[7,8,9,10],"Ubuntu 22.04 LTS","Debian 11","CentOS 8 Stream","Fedora 38","FixPedia Team",{"type":13,"value":14,"toc":778},"minimark",[15,20,24,27,31,34,71,77,81,84,89,92,144,180,184,187,227,253,269,273,276,279,355,388,391,409,422,436,440,443,446,484,519,522,547,557,560,564,569,647,659,663,670,685,688,696,700,703,757,774],[16,17,19],"h2",{"id":18},"введение","Введение",[21,22,23],"p",{},"Docker Community Edition (CE) — это бесплатная версия Docker, которая позволяет упаковывать приложения и их зависимости в переносимые контейнеры. Установка Docker CE на Linux открывает возможности для быстрой разработки, тестирования и развертывания программного обеспечения в изолированной среде. Этот гайд поможет вам настроить Docker на популярных дистрибутивах Linux, таких как Ubuntu, Debian, CentOS и Fedora, используя официальный репозиторий Docker.",[21,25,26],{},"После выполнения инструкции вы сможете запускать Docker-контейнеры, управлять образами и сетями, а также использовать инструменты вроде Docker Compose. Процесс занимает около 10–15 минут и требует базовых знаний работы с терминалом.",[16,28,30],{"id":29},"требования","Требования",[21,32,33],{},"Перед началом установки убедитесь, что ваша система соответствует следующим требованиям:",[35,36,37,45,51,57],"ul",{},[38,39,40,44],"li",{},[41,42,43],"strong",{},"64-битная Linux-система",": Docker CE поддерживает x86_64, ARM и другие архитектуры, но в этом гайде фокус на x86_64.",[38,46,47,50],{},[41,48,49],{},"Доступ к терминалу"," с правами суперпользователя (sudo) или root.",[38,52,53,56],{},[41,54,55],{},"Подключение к интернету"," для загрузки пакетов и репозитория Docker.",[38,58,59,62,63,70],{},[41,60,61],{},"Поддерживаемый дистрибутив",": Ubuntu 20.04+, Debian 10+, CentOS 7+, Fedora 30+. Актуальный список поддерживаемых версий смотрите в ",[64,65,69],"a",{"href":66,"rel":67},"https://docs.docker.com/engine/install/",[68],"nofollow","официальной документации Docker",".",[72,73,74],"blockquote",{},[21,75,76],{},"💡 Совет: Если вы используете менее распространённый дистрибутив, проверьте, есть ли в нём пакет Docker в официальных репозиториях, но для последних версий рекомендуется официальный репозиторий Docker.",[16,78,80],{"id":79},"шаг-1-обновление-системы-и-установка-зависимостей","Шаг 1: Обновление системы и установка зависимостей",[21,82,83],{},"Перед добавлением репозитория Docker обновите список пакетов и установите необходимые утилиты. Команды отличаются для дистрибутивов на базе Debian/Ubuntu (apt) и CentOS/Fedora (yum/dnf).",[85,86,88],"h3",{"id":87},"для-ubuntu-и-debian","Для Ubuntu и Debian",[21,90,91],{},"Выполните следующие команды в терминале:",[93,94,99],"pre",{"className":95,"code":96,"language":97,"meta":98,"style":98},"language-bash shiki shiki-themes github-light github-dark","sudo apt update\nsudo apt install -y apt-transport-https ca-certificates curl software-properties-common\n","bash","",[100,101,102,118],"code",{"__ignoreMap":98},[103,104,107,111,115],"span",{"class":105,"line":106},"line",1,[103,108,110],{"class":109},"sScJk","sudo",[103,112,114],{"class":113},"sZZnC"," apt",[103,116,117],{"class":113}," update\n",[103,119,121,123,125,128,132,135,138,141],{"class":105,"line":120},2,[103,122,110],{"class":109},[103,124,114],{"class":113},[103,126,127],{"class":113}," install",[103,129,131],{"class":130},"sj4cs"," -y",[103,133,134],{"class":113}," apt-transport-https",[103,136,137],{"class":113}," ca-certificates",[103,139,140],{"class":113}," curl",[103,142,143],{"class":113}," software-properties-common\n",[35,145,146,152,158,164,170],{},[38,147,148,151],{},[100,149,150],{},"apt update"," обновляет кэш пакетов.",[38,153,154,157],{},[100,155,156],{},"apt-transport-https"," позволяет использовать HTTPS-репозитории.",[38,159,160,163],{},[100,161,162],{},"ca-certificates"," обеспечивает проверку SSL-сертификатов.",[38,165,166,169],{},[100,167,168],{},"curl"," используется для загрузки GPG-ключа.",[38,171,172,175,176,179],{},[100,173,174],{},"software-properties-common"," добавляет команду ",[100,177,178],{},"add-apt-repository"," (необязательно, но полезно).",[85,181,183],{"id":182},"для-centos-и-fedora","Для CentOS и Fedora",[21,185,186],{},"Для CentOS 7/8 и Fedora используйте yum или dnf:",[93,188,190],{"className":95,"code":189,"language":97,"meta":98,"style":98},"sudo yum update -y\nsudo yum install -y yum-utils device-mapper-persistent-data lvm2 curl\n",[100,191,192,205],{"__ignoreMap":98},[103,193,194,196,199,202],{"class":105,"line":106},[103,195,110],{"class":109},[103,197,198],{"class":113}," yum",[103,200,201],{"class":113}," update",[103,203,204],{"class":130}," -y\n",[103,206,207,209,211,213,215,218,221,224],{"class":105,"line":120},[103,208,110],{"class":109},[103,210,198],{"class":113},[103,212,127],{"class":113},[103,214,131],{"class":130},[103,216,217],{"class":113}," yum-utils",[103,219,220],{"class":113}," device-mapper-persistent-data",[103,222,223],{"class":113}," lvm2",[103,225,226],{"class":113}," curl\n",[35,228,229,238,248],{},[38,230,231,234,235,70],{},[100,232,233],{},"yum-utils"," предоставляет утилиту ",[100,236,237],{},"yum-config-manager",[38,239,240,243,244,247],{},[100,241,242],{},"device-mapper-persistent-data"," и ",[100,245,246],{},"lvm2"," требуются для хранилища Docker.",[38,249,250,252],{},[100,251,168],{}," для загрузки ключа.",[72,254,255],{},[21,256,257,258,261,262,265,266,268],{},"⚠️ Важно: На Fedora можно использовать ",[100,259,260],{},"dnf"," вместо ",[100,263,264],{},"yum",", но команды совместимы. Убедитесь, что ",[100,267,233],{}," установлен.",[16,270,272],{"id":271},"шаг-2-добавление-официального-репозитория-docker","Шаг 2: Добавление официального репозитория Docker",[21,274,275],{},"Docker предоставляет собственный репозиторий с актуальными версиями пакетов. Добавьте GPG-ключ Docker для проверки подлинности пакетов и настройте репозиторий.",[85,277,88],{"id":278},"для-ubuntu-и-debian-1",[93,280,282],{"className":95,"code":281,"language":97,"meta":98,"style":98},"curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg\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",[100,283,284,313],{"__ignoreMap":98},[103,285,286,288,291,294,298,301,304,307,310],{"class":105,"line":106},[103,287,168],{"class":109},[103,289,290],{"class":130}," -fsSL",[103,292,293],{"class":113}," https://download.docker.com/linux/ubuntu/gpg",[103,295,297],{"class":296},"szBVR"," |",[103,299,300],{"class":109}," sudo",[103,302,303],{"class":113}," gpg",[103,305,306],{"class":130}," --dearmor",[103,308,309],{"class":130}," -o",[103,311,312],{"class":113}," /usr/share/keyrings/docker-archive-keyring.gpg\n",[103,314,315,318,321,324,327,330,333,336,339,341,343,346,349,352],{"class":105,"line":120},[103,316,317],{"class":130},"echo",[103,319,320],{"class":113}," \"deb [arch=$(",[103,322,323],{"class":109},"dpkg",[103,325,326],{"class":130}," --print-architecture",[103,328,329],{"class":113},") signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(",[103,331,332],{"class":109},"lsb_release",[103,334,335],{"class":130}," -cs",[103,337,338],{"class":113},") stable\"",[103,340,297],{"class":296},[103,342,300],{"class":109},[103,344,345],{"class":113}," tee",[103,347,348],{"class":113}," /etc/apt/sources.list.d/docker.list",[103,350,351],{"class":296}," >",[103,353,354],{"class":113}," /dev/null\n",[35,356,357,363,378],{},[38,358,359,360,70],{},"Первая команда загружает GPG-ключ Docker и сохраняет его в ",[100,361,362],{},"/usr/share/keyrings/docker-archive-keyring.gpg",[38,364,365,366,369,370,373,374,377],{},"Вторая команда добавляет репозиторий в ",[100,367,368],{},"/etc/apt/sources.list.d/docker.list",". Замените ",[100,371,372],{},"ubuntu"," на ",[100,375,376],{},"debian"," для Debian.",[38,379,380,383,384,387],{},[100,381,382],{},"$(lsb_release -cs)"," автоматически определяет кодовое имя вашего дистрибутива (например, ",[100,385,386],{},"jammy"," для Ubuntu 22.04).",[85,389,183],{"id":390},"для-centos-и-fedora-1",[93,392,394],{"className":95,"code":393,"language":97,"meta":98,"style":98},"sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo\n",[100,395,396],{"__ignoreMap":98},[103,397,398,400,403,406],{"class":105,"line":106},[103,399,110],{"class":109},[103,401,402],{"class":113}," yum-config-manager",[103,404,405],{"class":130}," --add-repo",[103,407,408],{"class":113}," https://download.docker.com/linux/centos/docker-ce.repo\n",[35,410,411],{},[38,412,413,414,417,418,70],{},"Эта команда добавляет репозиторий Docker для CentOS. Для Fedora репозиторий аналогичен, но иногда требуется использовать ",[100,415,416],{},"https://download.docker.com/linux/fedora/docker-ce.repo",". Если возникают ошибки, проверьте актуальный URL в ",[64,419,421],{"href":66,"rel":420},[68],"документации Docker",[72,423,424],{},[21,425,426,427,429,430,432,433,70],{},"💡 Совет: Если команда ",[100,428,237],{}," недоступна, установите ",[100,431,233],{}," (см. Шаг 1) или вручную создайте файл репозитория в ",[100,434,435],{},"/etc/yum.repos.d/docker-ce.repo",[16,437,439],{"id":438},"шаг-3-установка-docker-ce","Шаг 3: Установка Docker CE",[21,441,442],{},"После настройки репозитория установите пакеты Docker CE и дополнительные компоненты, такие как Docker Compose (в виде плагина) и BuildKit.",[85,444,88],{"id":445},"для-ubuntu-и-debian-2",[93,447,449],{"className":95,"code":448,"language":97,"meta":98,"style":98},"sudo apt update\nsudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n",[100,450,451,459],{"__ignoreMap":98},[103,452,453,455,457],{"class":105,"line":106},[103,454,110],{"class":109},[103,456,114],{"class":113},[103,458,117],{"class":113},[103,460,461,463,465,467,469,472,475,478,481],{"class":105,"line":120},[103,462,110],{"class":109},[103,464,114],{"class":113},[103,466,127],{"class":113},[103,468,131],{"class":130},[103,470,471],{"class":113}," docker-ce",[103,473,474],{"class":113}," docker-ce-cli",[103,476,477],{"class":113}," containerd.io",[103,479,480],{"class":113}," docker-buildx-plugin",[103,482,483],{"class":113}," docker-compose-plugin\n",[35,485,486,492,501,507,513],{},[38,487,488,491],{},[100,489,490],{},"docker-ce"," — основной движок Docker.",[38,493,494,497,498,70],{},[100,495,496],{},"docker-ce-cli"," — клиентская утилита ",[100,499,500],{},"docker",[38,502,503,506],{},[100,504,505],{},"containerd.io"," — управление контейнерами.",[38,508,509,512],{},[100,510,511],{},"docker-buildx-plugin"," — расширение для сборки образов.",[38,514,515,518],{},[100,516,517],{},"docker-compose-plugin"," — плагин для Docker Compose (вместо отдельного бинарника).",[85,520,183],{"id":521},"для-centos-и-fedora-2",[93,523,525],{"className":95,"code":524,"language":97,"meta":98,"style":98},"sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n",[100,526,527],{"__ignoreMap":98},[103,528,529,531,533,535,537,539,541,543,545],{"class":105,"line":106},[103,530,110],{"class":109},[103,532,198],{"class":113},[103,534,127],{"class":113},[103,536,131],{"class":130},[103,538,471],{"class":113},[103,540,474],{"class":113},[103,542,477],{"class":113},[103,544,480],{"class":113},[103,546,483],{"class":113},[21,548,549,550,552,553,373,555,70],{},"Пакеты имеют те же имена. Если вы используете ",[100,551,260],{}," на Fedora, замените ",[100,554,264],{},[100,556,260],{},[558,559],"in-article-ad",{},[16,561,563],{"id":562},"шаг-4-настройка-службы-docker-и-прав-пользователя","Шаг 4: Настройка службы Docker и прав пользователя",[21,565,566,567,70],{},"По умолчанию Docker требует прав суперпользователя. Для удобства настройте автозапуск службы и добавьте вашего пользователя в группу ",[100,568,500],{},[93,570,572],{"className":95,"code":571,"language":97,"meta":98,"style":98},"# Запустите службу Docker\nsudo systemctl start docker\n\n# Включите автозапуск при загрузке системы\nsudo systemctl enable docker\n\n# Добавьте текущего пользователя в группу docker\nsudo usermod -aG docker $USER\n",[100,573,574,580,593,600,606,618,623,629],{"__ignoreMap":98},[103,575,576],{"class":105,"line":106},[103,577,579],{"class":578},"sJ8bj","# Запустите службу Docker\n",[103,581,582,584,587,590],{"class":105,"line":120},[103,583,110],{"class":109},[103,585,586],{"class":113}," systemctl",[103,588,589],{"class":113}," start",[103,591,592],{"class":113}," docker\n",[103,594,596],{"class":105,"line":595},3,[103,597,599],{"emptyLinePlaceholder":598},true,"\n",[103,601,603],{"class":105,"line":602},4,[103,604,605],{"class":578},"# Включите автозапуск при загрузке системы\n",[103,607,609,611,613,616],{"class":105,"line":608},5,[103,610,110],{"class":109},[103,612,586],{"class":113},[103,614,615],{"class":113}," enable",[103,617,592],{"class":113},[103,619,621],{"class":105,"line":620},6,[103,622,599],{"emptyLinePlaceholder":598},[103,624,626],{"class":105,"line":625},7,[103,627,628],{"class":578},"# Добавьте текущего пользователя в группу docker\n",[103,630,632,634,637,640,643],{"class":105,"line":631},8,[103,633,110],{"class":109},[103,635,636],{"class":113}," usermod",[103,638,639],{"class":130}," -aG",[103,641,642],{"class":113}," docker",[103,644,646],{"class":645},"sVt8B"," $USER\n",[72,648,649],{},[21,650,651,652,654,655,658],{},"⚠️ Важно: После добавления пользователя в группу ",[100,653,500],{}," необходимо выйти из системы и войти заново, чтобы изменения вступили в силу. В качестве альтернативы выполните ",[100,656,657],{},"newgrp docker"," в текущем терминале, но это сработает только для этого сеанса.",[16,660,662],{"id":661},"шаг-5-проверка-установки","Шаг 5: Проверка установки",[21,664,665,666,669],{},"Чтобы убедиться, что Docker работает корректно, запустите тестовый контейнер ",[100,667,668],{},"hello-world",":",[93,671,673],{"className":95,"code":672,"language":97,"meta":98,"style":98},"docker run hello-world\n",[100,674,675],{"__ignoreMap":98},[103,676,677,679,682],{"class":105,"line":106},[103,678,500],{"class":109},[103,680,681],{"class":113}," run",[103,683,684],{"class":113}," hello-world\n",[21,686,687],{},"Если установка прошла успешно, вы увидите приветственное сообщение, подтверждающее, что Docker может извлекать образы и запускать контейнеры. Пример вывода:",[93,689,694],{"className":690,"code":692,"language":693},[691],"language-text","Hello from Docker!\nThis message shows that your installation appears to be working correctly.\n...\n","text",[100,695,692],{"__ignoreMap":98},[16,697,699],{"id":698},"возможные-проблемы","Возможные проблемы",[21,701,702],{},"При установке Docker CE на Linux могут возникнуть следующие типичные ошибки:",[35,704,705,717,730,745,751],{},[38,706,707,710,711,713,714,70],{},[41,708,709],{},"Ошибка доступа (permission denied)",": Убедитесь, что пользователь добавлен в группу ",[100,712,500],{}," (см. Шаг 4) и перезаlogged in. Проверьте членство в группе: ",[100,715,716],{},"groups $USER",[38,718,719,722,723,726,727,70],{},[41,720,721],{},"Служба Docker не запущена",": Проверьте статус службы: ",[100,724,725],{},"sudo systemctl status docker",". Если она неактивна, запустите её: ",[100,728,729],{},"sudo systemctl start docker",[38,731,732,735,736,739,740,373,742,744],{},[41,733,734],{},"Ошибка добавления репозитория",": Проверьте, что GPG-ключ корректно добавлен (",[100,737,738],{},"ls /usr/share/keyrings/docker-archive-keyring.gpg",") и URL репозитория соответствует вашему дистрибутиву. Для Debian замените ",[100,741,372],{},[100,743,376],{}," в команде добавления репозитория.",[38,746,747,750],{},[41,748,749],{},"Конфликты пакетов на Fedora",": Fedora может иметь собственные версии пакетов Docker в репозиториях. Если возникают конфликты, отключите репозиторий Fedora для Docker или используйте официальный репозиторий Docker с указанием версии.",[38,752,753,756],{},[41,754,755],{},"Устаревшие зависимости",": На старых дистрибутивах могут отсутствовать пакеты. Обновите систему или рассмотрите использование более новой версии дистрибутива.",[21,758,759,760,763,764,769,770,70],{},"Если проблема не решена, проверьте логи Docker: ",[100,761,762],{},"sudo journalctl -u docker.service"," и поищите решение в ",[64,765,768],{"href":766,"rel":767},"https://forums.docker.com/",[68],"сообществе Docker"," или ",[64,771,773],{"href":66,"rel":772},[68],"официальной документации",[775,776,777],"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 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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}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}",{"title":98,"searchDepth":120,"depth":120,"links":779},[780,781,782,786,790,794,795,796],{"id":18,"depth":120,"text":19},{"id":29,"depth":120,"text":30},{"id":79,"depth":120,"text":80,"children":783},[784,785],{"id":87,"depth":595,"text":88},{"id":182,"depth":595,"text":183},{"id":271,"depth":120,"text":272,"children":787},[788,789],{"id":278,"depth":595,"text":88},{"id":390,"depth":595,"text":183},{"id":438,"depth":120,"text":439,"children":791},[792,793],{"id":445,"depth":595,"text":88},{"id":521,"depth":595,"text":183},{"id":562,"depth":120,"text":563},{"id":661,"depth":120,"text":662},{"id":698,"depth":120,"text":699},null,"2026-02-17 14:10:16","Узнайте, как установить Docker Community Edition на Linux за 10 минут. Пошаговое руководство для Ubuntu, Debian, CentOS, Fedora. Начните работать с контейнерами без лишних сложностей.","medium",false,"10-15 мин","md",[805,808,811,814],{"question":806,"answer":807},"Требуется ли перезагрузка после установки Docker?","Нет, перезагрузка не требуется. После установки можно сразу запускать контейнеры, но если вы добавляли пользователя в группу docker, нужно выйти и зайти заново или выполнить newgrp docker.",{"question":809,"answer":810},"Можно ли установить Docker на Raspberry Pi?","Да, для ARM-архитектуры используйте Docker CE для Linux на ARM. Инструкция аналогична, но репозиторий может отличаться. Официальная документация Docker имеет раздел для Raspberry Pi.",{"question":812,"answer":813},"Что делать, если команда docker выдает 'permission denied'?","Добавьте текущего пользователя в группу docker: sudo usermod -aG docker $USER, затем выйдите и зайдите заново. Это предоставит права без использования sudo.",{"question":815,"answer":816},"Как обновить Docker до новой версии?","Выполните обновление пакетов: sudo apt update && sudo apt upgrade docker-ce для Ubuntu или sudo yum update docker-ce для CentOS. Docker обновится из репозитория.",[818,821,824,827,830,833],{"name":819,"text":820},"Обновите систему и установите зависимости","Обновите пакеты и установите необходимые утилиты, такие как curl и gnupg, в зависимости от вашего дистрибутива.",{"name":822,"text":823},"Добавьте официальный репозиторий Docker","Используйте curl для добавления GPG-ключа Docker и настройте репозиторий для вашего дистрибутива.",{"name":825,"text":826},"Установите Docker CE и связанные пакеты","Установите пакеты docker-ce, docker-ce-cli, containerd.io и плагины с помощью менеджера пакетов.",{"name":828,"text":829},"Запустите службу Docker и настройте автозапуск","Активируйте и запустите службу systemd для Docker, чтобы она работала после загрузки.",{"name":831,"text":832},"Добавьте пользователя в группу docker","Чтобы избежать использования sudo, добавьте вашего пользователя в группу docker и перезайдите в систему.",{"name":834,"text":835},"Проверьте установку с помощью hello-world","Выполните docker run hello-world, чтобы убедиться, что Docker работает корректно.","PT15M",[838,839,840,841,842,843,844,845,846,847],"установка docker ce на linux","docker ce установка ubuntu","как установить docker на centos","инструкция по установке docker community edition","docker для linux шаги","установить docker на debian","docker compose установка linux","ошибка при установке docker linux","настройка docker после установки","docker группа пользователей","ru_RU",{},"/guides/linux/install-docker-ce","linux",[853,854,855],"/guides/linux/docker-basics","/guides/linux/manage-docker-images","/errors/linux/docker-permission-denied","Гайды Docker",{"title":5,"description":799},"low","guides/linux/install-docker-ce","Этот гайд описывает установку Docker CE на Linux-дистрибутивы. Вы научитесь добавлять репозиторий, устанавливать пакеты и настраивать Docker для использования.",[500,862,851,863,864,490],"установка","контейнеризация","devops","guide","Dn-Hs17xSqO_amCq_cokxiRcIQAABjKnCyyw3LiOX8Y",{"data":868,"body":869},{},{"type":870,"children":871},"root",[872],{"type":873,"tag":21,"props":874,"children":875},"element",{},[876],{"type":693,"value":807},{"data":878,"body":879},{},{"type":870,"children":880},[881],{"type":873,"tag":21,"props":882,"children":883},{},[884],{"type":693,"value":810},{"data":886,"body":887},{},{"type":870,"children":888},[889],{"type":873,"tag":21,"props":890,"children":891},{},[892],{"type":693,"value":813},{"data":894,"body":895},{},{"type":870,"children":896},[897],{"type":873,"tag":21,"props":898,"children":899},{},[900],{"type":693,"value":816},{"data":902,"body":903},{},{"type":870,"children":904},[905],{"type":873,"tag":21,"props":906,"children":907},{},[908],{"type":693,"value":820},{"data":910,"body":911},{},{"type":870,"children":912},[913],{"type":873,"tag":21,"props":914,"children":915},{},[916],{"type":693,"value":823},{"data":918,"body":919},{},{"type":870,"children":920},[921],{"type":873,"tag":21,"props":922,"children":923},{},[924],{"type":693,"value":826},{"data":926,"body":927},{},{"type":870,"children":928},[929],{"type":873,"tag":21,"props":930,"children":931},{},[932],{"type":693,"value":829},{"data":934,"body":935},{},{"type":870,"children":936},[937],{"type":873,"tag":21,"props":938,"children":939},{},[940],{"type":693,"value":832},{"data":942,"body":943},{},{"type":870,"children":944},[945],{"type":873,"tag":21,"props":946,"children":947},{},[948],{"type":693,"value":835},[950,2334],{"id":951,"title":952,"appliesTo":953,"author":11,"body":958,"canonical":797,"code":797,"createdAt":2283,"description":2284,"difficulty":2285,"draft":801,"estimatedTime":802,"extension":803,"faq":2286,"howToSteps":2299,"howToTotalTime":836,"image":797,"keywords":2315,"locale":848,"meta":2324,"navigation":598,"path":853,"platform":851,"related":2325,"section":856,"seo":2328,"severity":797,"stem":2329,"summary":2330,"tags":2331,"twitterCreator":797,"twitterSite":797,"type":865,"updatedAt":2283,"__hash__":2333},"content_ru/guides/linux/docker-basics.md","Docker для Linux: установка и базовые команды с примерами",[954,955,956,957],"Ubuntu 22.04+","Debian 11+","CentOS 8+","Docker 20.10+",{"type":13,"value":959,"toc":2252},[960,964,967,981,984,988,991,1017,1021,1024,1028,1236,1240,1319,1323,1337,1340,1344,1355,1397,1402,1414,1420,1422,1426,1432,1436,1451,1468,1472,1487,1493,1497,1509,1524,1528,1542,1545,1549,1555,1559,1585,1605,1609,1636,1656,1660,1672,1686,1693,1708,1712,1787,1791,1805,1815,1819,1822,2070,2074,2077,2141,2143,2150,2169,2173,2193,2197,2205,2249],[16,961,963],{"id":962},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,965,966],{},"Docker — это платформа для контейнеризации, которая позволяет упаковывать приложения и их зависимости в изолированные, переносимые среды — контейнеры. На Linux это особенно удобно, поскольку Docker использует встроенные возможности ядра (cgroups, namespaces). После прохождения этого гайда вы сможете:",[35,968,969,972,975,978],{},[38,970,971],{},"Установить и настроить Docker Engine на свой сервер или рабочую станциюю.",[38,973,974],{},"Запускать, останавливать и удалять контейнеры.",[38,976,977],{},"Работать с образами: искать, скачивать, создавать свои.",[38,979,980],{},"Понять базовый синтаксис Dockerfile для автоматизации сборки.",[21,982,983],{},"Это основа для дальнейшего изучения оркестрации (Kubernetes) и CI/CD-пайплайнов.",[16,985,987],{"id":986},"требования-подготовка","Требования / Подготовка",[21,989,990],{},"Перед началом убедитесь, что:",[992,993,994,999,1002,1005],"ol",{},[38,995,996,997,70],{},"У вас есть доступ к терминалу Linux (Ubuntu, Debian, CentOS, Fedora и т.д.) с правами ",[100,998,110],{},[38,1000,1001],{},"Система 64-битная (x86_64/amd64 или arm64).",[38,1003,1004],{},"Подключение к интернету для загрузки пакетов и образов.",[38,1006,1007,1008,1011,1012,1011,1014,1016],{},"(Опционально) Базовое понимание командной строки и управления пакетами (",[100,1009,1010],{},"apt",", ",[100,1013,264],{},[100,1015,260],{},").",[16,1018,1020],{"id":1019},"шаг-1-установка-docker-engine","Шаг 1: Установка Docker Engine",[21,1022,1023],{},"Установка через официальный репозиторий — самый надежный способ.",[85,1025,1027],{"id":1026},"для-ubuntudebian","Для Ubuntu/Debian:",[93,1029,1031],{"className":95,"code":1030,"language":97,"meta":98,"style":98},"# 1. Обновите индекс пакетов и установите зависимости\nsudo apt-get update\nsudo apt-get install ca-certificates curl gnupg\n\n# 2. Добавьте официальный GPG-ключ Docker\nsudo install -m 0755 -d /etc/apt/keyrings\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg\nsudo chmod a+r /etc/apt/keyrings/docker.gpg\n\n# 3. Добавьте репозиторий Docker в sources.list\necho \\\n  \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \\\n  $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable\" | \\\n  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n\n# 4. Установите Docker Engine, containerd и Docker Compose (plugin)\nsudo apt-get update\nsudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n",[100,1032,1033,1038,1047,1062,1066,1071,1089,1110,1122,1127,1133,1141,1157,1183,1197,1202,1208,1217],{"__ignoreMap":98},[103,1034,1035],{"class":105,"line":106},[103,1036,1037],{"class":578},"# 1. Обновите индекс пакетов и установите зависимости\n",[103,1039,1040,1042,1045],{"class":105,"line":120},[103,1041,110],{"class":109},[103,1043,1044],{"class":113}," apt-get",[103,1046,117],{"class":113},[103,1048,1049,1051,1053,1055,1057,1059],{"class":105,"line":595},[103,1050,110],{"class":109},[103,1052,1044],{"class":113},[103,1054,127],{"class":113},[103,1056,137],{"class":113},[103,1058,140],{"class":113},[103,1060,1061],{"class":113}," gnupg\n",[103,1063,1064],{"class":105,"line":602},[103,1065,599],{"emptyLinePlaceholder":598},[103,1067,1068],{"class":105,"line":608},[103,1069,1070],{"class":578},"# 2. Добавьте официальный GPG-ключ Docker\n",[103,1072,1073,1075,1077,1080,1083,1086],{"class":105,"line":620},[103,1074,110],{"class":109},[103,1076,127],{"class":113},[103,1078,1079],{"class":130}," -m",[103,1081,1082],{"class":130}," 0755",[103,1084,1085],{"class":130}," -d",[103,1087,1088],{"class":113}," /etc/apt/keyrings\n",[103,1090,1091,1093,1095,1097,1099,1101,1103,1105,1107],{"class":105,"line":625},[103,1092,168],{"class":109},[103,1094,290],{"class":130},[103,1096,293],{"class":113},[103,1098,297],{"class":296},[103,1100,300],{"class":109},[103,1102,303],{"class":113},[103,1104,306],{"class":130},[103,1106,309],{"class":130},[103,1108,1109],{"class":113}," /etc/apt/keyrings/docker.gpg\n",[103,1111,1112,1114,1117,1120],{"class":105,"line":631},[103,1113,110],{"class":109},[103,1115,1116],{"class":113}," chmod",[103,1118,1119],{"class":113}," a+r",[103,1121,1109],{"class":113},[103,1123,1125],{"class":105,"line":1124},9,[103,1126,599],{"emptyLinePlaceholder":598},[103,1128,1130],{"class":105,"line":1129},10,[103,1131,1132],{"class":578},"# 3. Добавьте репозиторий Docker в sources.list\n",[103,1134,1136,1138],{"class":105,"line":1135},11,[103,1137,317],{"class":130},[103,1139,1140],{"class":130}," \\\n",[103,1142,1144,1147,1149,1151,1154],{"class":105,"line":1143},12,[103,1145,1146],{"class":113},"  \"deb [arch=$(",[103,1148,323],{"class":109},[103,1150,326],{"class":130},[103,1152,1153],{"class":113},") signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu ",[103,1155,1156],{"class":130},"\\\n",[103,1158,1160,1163,1165,1168,1170,1173,1176,1179,1181],{"class":105,"line":1159},13,[103,1161,1162],{"class":113},"  $(",[103,1164,70],{"class":130},[103,1166,1167],{"class":113}," /etc/os-release && ",[103,1169,317],{"class":130},[103,1171,1172],{"class":113}," \"",[103,1174,1175],{"class":645},"$VERSION_CODENAME",[103,1177,1178],{"class":113},"\") stable\"",[103,1180,297],{"class":296},[103,1182,1140],{"class":130},[103,1184,1186,1189,1191,1193,1195],{"class":105,"line":1185},14,[103,1187,1188],{"class":109},"  sudo",[103,1190,345],{"class":113},[103,1192,348],{"class":113},[103,1194,351],{"class":296},[103,1196,354],{"class":113},[103,1198,1200],{"class":105,"line":1199},15,[103,1201,599],{"emptyLinePlaceholder":598},[103,1203,1205],{"class":105,"line":1204},16,[103,1206,1207],{"class":578},"# 4. Установите Docker Engine, containerd и Docker Compose (plugin)\n",[103,1209,1211,1213,1215],{"class":105,"line":1210},17,[103,1212,110],{"class":109},[103,1214,1044],{"class":113},[103,1216,117],{"class":113},[103,1218,1220,1222,1224,1226,1228,1230,1232,1234],{"class":105,"line":1219},18,[103,1221,110],{"class":109},[103,1223,1044],{"class":113},[103,1225,127],{"class":113},[103,1227,471],{"class":113},[103,1229,474],{"class":113},[103,1231,477],{"class":113},[103,1233,480],{"class":113},[103,1235,483],{"class":113},[85,1237,1239],{"id":1238},"для-centosrhelfedora","Для CentOS/RHEL/Fedora:",[93,1241,1243],{"className":95,"code":1242,"language":97,"meta":98,"style":98},"# 1. Установите yum-utils (для управления репозиториями)\nsudo yum install -y yum-utils\n\n# 2. Добавьте репозиторий Docker\nsudo yum-config-manager \\\n    --add-repo \\\n    https://download.docker.com/linux/centos/docker-ce.repo\n\n# 3. Установите Docker Engine\nsudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n",[100,1244,1245,1250,1263,1267,1272,1280,1287,1292,1296,1301],{"__ignoreMap":98},[103,1246,1247],{"class":105,"line":106},[103,1248,1249],{"class":578},"# 1. Установите yum-utils (для управления репозиториями)\n",[103,1251,1252,1254,1256,1258,1260],{"class":105,"line":120},[103,1253,110],{"class":109},[103,1255,198],{"class":113},[103,1257,127],{"class":113},[103,1259,131],{"class":130},[103,1261,1262],{"class":113}," yum-utils\n",[103,1264,1265],{"class":105,"line":595},[103,1266,599],{"emptyLinePlaceholder":598},[103,1268,1269],{"class":105,"line":602},[103,1270,1271],{"class":578},"# 2. Добавьте репозиторий Docker\n",[103,1273,1274,1276,1278],{"class":105,"line":608},[103,1275,110],{"class":109},[103,1277,402],{"class":113},[103,1279,1140],{"class":130},[103,1281,1282,1285],{"class":105,"line":620},[103,1283,1284],{"class":130},"    --add-repo",[103,1286,1140],{"class":130},[103,1288,1289],{"class":105,"line":625},[103,1290,1291],{"class":113},"    https://download.docker.com/linux/centos/docker-ce.repo\n",[103,1293,1294],{"class":105,"line":631},[103,1295,599],{"emptyLinePlaceholder":598},[103,1297,1298],{"class":105,"line":1124},[103,1299,1300],{"class":578},"# 3. Установите Docker Engine\n",[103,1302,1303,1305,1307,1309,1311,1313,1315,1317],{"class":105,"line":1129},[103,1304,110],{"class":109},[103,1306,198],{"class":113},[103,1308,127],{"class":113},[103,1310,471],{"class":113},[103,1312,474],{"class":113},[103,1314,477],{"class":113},[103,1316,480],{"class":113},[103,1318,483],{"class":113},[85,1320,1322],{"id":1321},"проверьте-установку","Проверьте установку:",[93,1324,1326],{"className":95,"code":1325,"language":97,"meta":98,"style":98},"sudo docker version\n",[100,1327,1328],{"__ignoreMap":98},[103,1329,1330,1332,1334],{"class":105,"line":106},[103,1331,110],{"class":109},[103,1333,642],{"class":113},[103,1335,1336],{"class":113}," version\n",[21,1338,1339],{},"Вывод должен показать клиент и сервер (Engine) с версиями.",[16,1341,1343],{"id":1342},"шаг-2-настройка-прав-доступа-и-первая-проверка","Шаг 2: Настройка прав доступа и первая проверка",[21,1345,1346,1347,1349,1350,1352,1353,70],{},"По умолчанию команды ",[100,1348,500],{}," требуют прав ",[100,1351,110],{},". Чтобы запускать контейнеры от обычного пользователя, добавьте его в группу ",[100,1354,500],{},[93,1356,1358],{"className":95,"code":1357,"language":97,"meta":98,"style":98},"# Добавьте текущего пользователя в группу docker\nsudo usermod -aG docker $USER\n\n# Чтобы изменения вступили в силу, выйдите из системы и зайдите заново,\n# или выполните в текущей сессии:\nnewgrp docker\n",[100,1359,1360,1364,1376,1380,1385,1390],{"__ignoreMap":98},[103,1361,1362],{"class":105,"line":106},[103,1363,628],{"class":578},[103,1365,1366,1368,1370,1372,1374],{"class":105,"line":120},[103,1367,110],{"class":109},[103,1369,636],{"class":113},[103,1371,639],{"class":130},[103,1373,642],{"class":113},[103,1375,646],{"class":645},[103,1377,1378],{"class":105,"line":595},[103,1379,599],{"emptyLinePlaceholder":598},[103,1381,1382],{"class":105,"line":602},[103,1383,1384],{"class":578},"# Чтобы изменения вступили в силу, выйдите из системы и зайдите заново,\n",[103,1386,1387],{"class":105,"line":608},[103,1388,1389],{"class":578},"# или выполните в текущей сессии:\n",[103,1391,1392,1395],{"class":105,"line":620},[103,1393,1394],{"class":109},"newgrp",[103,1396,592],{"class":113},[21,1398,1399,1400,669],{},"Теперь проверьте, что всё работает без ",[100,1401,110],{},[93,1403,1404],{"className":95,"code":672,"language":97,"meta":98,"style":98},[100,1405,1406],{"__ignoreMap":98},[103,1407,1408,1410,1412],{"class":105,"line":106},[103,1409,500],{"class":109},[103,1411,681],{"class":113},[103,1413,684],{"class":113},[21,1415,1416,1417,1419],{},"Вы должны увидеть приветственное сообщение от Docker, подтверждающее успешную загрузку образа ",[100,1418,668],{}," и запуск контейнера.",[558,1421],{},[16,1423,1425],{"id":1424},"шаг-3-основные-команды-для-работы-с-образами","Шаг 3: Основные команды для работы с образами",[21,1427,1428,1431],{},[41,1429,1430],{},"Образ (image)"," — это шаблон (файловая система + метаданные) для создания контейнеров.",[85,1433,1435],{"id":1434},"поиск-образа-в-docker-hub-официальном-репозитории","Поиск образа в Docker Hub (официальном репозитории)",[93,1437,1439],{"className":95,"code":1438,"language":97,"meta":98,"style":98},"docker search nginx\n",[100,1440,1441],{"__ignoreMap":98},[103,1442,1443,1445,1448],{"class":105,"line":106},[103,1444,500],{"class":109},[103,1446,1447],{"class":113}," search",[103,1449,1450],{"class":113}," nginx\n",[21,1452,1453,1454,1457,1458,1461,1462,1011,1465,70],{},"Ключевые колонки: ",[100,1455,1456],{},"NAME"," (официальные образы помечены как ",[100,1459,1460],{},"[OK]","), ",[100,1463,1464],{},"DESCRIPTION",[100,1466,1467],{},"STARS",[85,1469,1471],{"id":1470},"загрузка-образа-локально","Загрузка образа локально",[93,1473,1475],{"className":95,"code":1474,"language":97,"meta":98,"style":98},"docker pull ubuntu:22.04\n",[100,1476,1477],{"__ignoreMap":98},[103,1478,1479,1481,1484],{"class":105,"line":106},[103,1480,500],{"class":109},[103,1482,1483],{"class":113}," pull",[103,1485,1486],{"class":113}," ubuntu:22.04\n",[21,1488,1489,1490,70],{},"Эта команда скачает последний LTS-образ Ubuntu 22.04. Если тег не указан, используется ",[100,1491,1492],{},"latest",[85,1494,1496],{"id":1495},"список-локальных-образов","Список локальных образов",[93,1498,1500],{"className":95,"code":1499,"language":97,"meta":98,"style":98},"docker images\n",[100,1501,1502],{"__ignoreMap":98},[103,1503,1504,1506],{"class":105,"line":106},[103,1505,500],{"class":109},[103,1507,1508],{"class":113}," images\n",[21,1510,1511,1512,1011,1515,1011,1518,1011,1521,70],{},"Обратите внимание на колонки: ",[100,1513,1514],{},"REPOSITORY",[100,1516,1517],{},"TAG",[100,1519,1520],{},"IMAGE ID",[100,1522,1523],{},"SIZE",[85,1525,1527],{"id":1526},"удаление-образа","Удаление образа",[93,1529,1531],{"className":95,"code":1530,"language":97,"meta":98,"style":98},"docker rmi ubuntu:22.04\n",[100,1532,1533],{"__ignoreMap":98},[103,1534,1535,1537,1540],{"class":105,"line":106},[103,1536,500],{"class":109},[103,1538,1539],{"class":113}," rmi",[103,1541,1486],{"class":113},[21,1543,1544],{},"Если образ используется запущенным контейнером, его удаление невозможно. Сначала удалите контейнер.",[16,1546,1548],{"id":1547},"шаг-4-запуск-и-управление-контейнерами","Шаг 4: Запуск и управление контейнерами",[21,1550,1551,1554],{},[41,1552,1553],{},"Контейнер (container)"," — это запущенный экземпляр образа.",[85,1556,1558],{"id":1557},"запуск-контейнера-в-интерактивном-режиме","Запуск контейнера в интерактивном режиме",[93,1560,1562],{"className":95,"code":1561,"language":97,"meta":98,"style":98},"docker run -it --name my-ubuntu ubuntu:22.04 /bin/bash\n",[100,1563,1564],{"__ignoreMap":98},[103,1565,1566,1568,1570,1573,1576,1579,1582],{"class":105,"line":106},[103,1567,500],{"class":109},[103,1569,681],{"class":113},[103,1571,1572],{"class":130}," -it",[103,1574,1575],{"class":130}," --name",[103,1577,1578],{"class":113}," my-ubuntu",[103,1580,1581],{"class":113}," ubuntu:22.04",[103,1583,1584],{"class":113}," /bin/bash\n",[35,1586,1587,1593,1599],{},[38,1588,1589,1592],{},[100,1590,1591],{},"-it"," — интерактивный режим с TTY (терминал).",[38,1594,1595,1598],{},[100,1596,1597],{},"--name"," — задаёт удобное имя контейнеру (иначе генерируется случайное).",[38,1600,1601,1602,70],{},"После команды вы окажетесь внутри shell контейнера. Для выхода используйте ",[100,1603,1604],{},"exit",[85,1606,1608],{"id":1607},"запуск-контейнера-в-фоновом-режиме-daemon","Запуск контейнера в фоновом режиме (daemon)",[93,1610,1612],{"className":95,"code":1611,"language":97,"meta":98,"style":98},"docker run -d --name web-server -p 8080:80 nginx:alpine\n",[100,1613,1614],{"__ignoreMap":98},[103,1615,1616,1618,1620,1622,1624,1627,1630,1633],{"class":105,"line":106},[103,1617,500],{"class":109},[103,1619,681],{"class":113},[103,1621,1085],{"class":130},[103,1623,1575],{"class":130},[103,1625,1626],{"class":113}," web-server",[103,1628,1629],{"class":130}," -p",[103,1631,1632],{"class":113}," 8080:80",[103,1634,1635],{"class":113}," nginx:alpine\n",[35,1637,1638,1644,1650],{},[38,1639,1640,1643],{},[100,1641,1642],{},"-d"," — detached mode (контейнер работает в фоне).",[38,1645,1646,1649],{},[100,1647,1648],{},"-p 8080:80"," — проброс портов: хост:контейнер. Веб-сервер внутри контейнера слушает порт 80, а снаружи доступен на порту 8080 вашего хоста.",[38,1651,1652,1653,70],{},"Проверить работу: откройте в браузере ",[100,1654,1655],{},"http://localhost:8080",[85,1657,1659],{"id":1658},"просмотр-запущенных-контейнеров","Просмотр запущенных контейнеров",[93,1661,1663],{"className":95,"code":1662,"language":97,"meta":98,"style":98},"docker ps\n",[100,1664,1665],{"__ignoreMap":98},[103,1666,1667,1669],{"class":105,"line":106},[103,1668,500],{"class":109},[103,1670,1671],{"class":113}," ps\n",[21,1673,1453,1674,1011,1677,1011,1680,1011,1683,70],{},[100,1675,1676],{},"CONTAINER ID",[100,1678,1679],{},"NAMES",[100,1681,1682],{},"STATUS",[100,1684,1685],{},"PORTS",[21,1687,1688,1689,1692],{},"Чтобы увидеть ",[41,1690,1691],{},"все"," контейнеры (включая остановленные):",[93,1694,1696],{"className":95,"code":1695,"language":97,"meta":98,"style":98},"docker ps -a\n",[100,1697,1698],{"__ignoreMap":98},[103,1699,1700,1702,1705],{"class":105,"line":106},[103,1701,500],{"class":109},[103,1703,1704],{"class":113}," ps",[103,1706,1707],{"class":130}," -a\n",[85,1709,1711],{"id":1710},"остановка-и-удаление-контейнера","Остановка и удаление контейнера",[93,1713,1715],{"className":95,"code":1714,"language":97,"meta":98,"style":98},"# Остановить контейнер (сохраняет файловую систему)\ndocker stop web-server\n\n# Запустить остановленный контейнер\ndocker start web-server\n\n# Удалить остановленный контейнер\ndocker rm web-server\n\n# Принудительно удалить запущенный контейнер (данные потеряются!)\ndocker rm -f web-server\n",[100,1716,1717,1722,1732,1736,1741,1749,1753,1758,1767,1771,1776],{"__ignoreMap":98},[103,1718,1719],{"class":105,"line":106},[103,1720,1721],{"class":578},"# Остановить контейнер (сохраняет файловую систему)\n",[103,1723,1724,1726,1729],{"class":105,"line":120},[103,1725,500],{"class":109},[103,1727,1728],{"class":113}," stop",[103,1730,1731],{"class":113}," web-server\n",[103,1733,1734],{"class":105,"line":595},[103,1735,599],{"emptyLinePlaceholder":598},[103,1737,1738],{"class":105,"line":602},[103,1739,1740],{"class":578},"# Запустить остановленный контейнер\n",[103,1742,1743,1745,1747],{"class":105,"line":608},[103,1744,500],{"class":109},[103,1746,589],{"class":113},[103,1748,1731],{"class":113},[103,1750,1751],{"class":105,"line":620},[103,1752,599],{"emptyLinePlaceholder":598},[103,1754,1755],{"class":105,"line":625},[103,1756,1757],{"class":578},"# Удалить остановленный контейнер\n",[103,1759,1760,1762,1765],{"class":105,"line":631},[103,1761,500],{"class":109},[103,1763,1764],{"class":113}," rm",[103,1766,1731],{"class":113},[103,1768,1769],{"class":105,"line":1124},[103,1770,599],{"emptyLinePlaceholder":598},[103,1772,1773],{"class":105,"line":1129},[103,1774,1775],{"class":578},"# Принудительно удалить запущенный контейнер (данные потеряются!)\n",[103,1777,1778,1780,1782,1785],{"class":105,"line":1135},[103,1779,500],{"class":109},[103,1781,1764],{"class":113},[103,1783,1784],{"class":130}," -f",[103,1786,1731],{"class":113},[85,1788,1790],{"id":1789},"просмотр-логов-контейнера","Просмотр логов контейнера",[93,1792,1794],{"className":95,"code":1793,"language":97,"meta":98,"style":98},"docker logs web-server\n",[100,1795,1796],{"__ignoreMap":98},[103,1797,1798,1800,1803],{"class":105,"line":106},[103,1799,500],{"class":109},[103,1801,1802],{"class":113}," logs",[103,1804,1731],{"class":113},[21,1806,1807,1808,769,1811,1814],{},"Добавьте ",[100,1809,1810],{},"-f",[100,1812,1813],{},"--follow"," для отслеживания логов в реальном времени.",[16,1816,1818],{"id":1817},"шаг-5-создание-собственного-образа-через-dockerfile","Шаг 5: Создание собственного образа через Dockerfile",[21,1820,1821],{},"Dockerfile — это текстовый файл с инструкциями для сборки образа.",[992,1823,1824,1972,1996,2033],{},[38,1825,1826,1827,669,1830],{},"Создайте пустую директорию и в ней файл ",[100,1828,1829],{},"Dockerfile",[93,1831,1833],{"className":95,"code":1832,"language":97,"meta":98,"style":98},"mkdir my-nginx && cd my-nginx\ncat > Dockerfile \u003C\u003C 'EOF'\n# Используем официальный легковесный образ Alpine Linux\nFROM alpine:3.18\n\n# Устанавливаем nginx\nRUN apk add --no-cache nginx\n\n# Копируем кастомный конфиг (если есть) или используем дефолтный\n# COPY nginx.conf /etc/nginx/nginx.conf\n\n# Создаём директорию для файлов сайта\nRUN mkdir -p /var/www/html\n\n# Копируем локальный файл index.html в образ\nCOPY index.html /var/www/html/index.html\n\n# Открываем порт 80\nEXPOSE 80\n\n# Запускаем nginx в foreground\nCMD [\"nginx\", \"-g\", \"daemon off;\"]\nEOF\n",[100,1834,1835,1852,1868,1873,1878,1882,1887,1892,1896,1901,1906,1910,1915,1920,1924,1929,1934,1938,1943,1949,1954,1960,1966],{"__ignoreMap":98},[103,1836,1837,1840,1843,1846,1849],{"class":105,"line":106},[103,1838,1839],{"class":109},"mkdir",[103,1841,1842],{"class":113}," my-nginx",[103,1844,1845],{"class":645}," && ",[103,1847,1848],{"class":130},"cd",[103,1850,1851],{"class":113}," my-nginx\n",[103,1853,1854,1857,1859,1862,1865],{"class":105,"line":120},[103,1855,1856],{"class":109},"cat",[103,1858,351],{"class":296},[103,1860,1861],{"class":113}," Dockerfile",[103,1863,1864],{"class":296}," \u003C\u003C",[103,1866,1867],{"class":113}," 'EOF'\n",[103,1869,1870],{"class":105,"line":595},[103,1871,1872],{"class":113},"# Используем официальный легковесный образ Alpine Linux\n",[103,1874,1875],{"class":105,"line":602},[103,1876,1877],{"class":113},"FROM alpine:3.18\n",[103,1879,1880],{"class":105,"line":608},[103,1881,599],{"emptyLinePlaceholder":598},[103,1883,1884],{"class":105,"line":620},[103,1885,1886],{"class":113},"# Устанавливаем nginx\n",[103,1888,1889],{"class":105,"line":625},[103,1890,1891],{"class":113},"RUN apk add --no-cache nginx\n",[103,1893,1894],{"class":105,"line":631},[103,1895,599],{"emptyLinePlaceholder":598},[103,1897,1898],{"class":105,"line":1124},[103,1899,1900],{"class":113},"# Копируем кастомный конфиг (если есть) или используем дефолтный\n",[103,1902,1903],{"class":105,"line":1129},[103,1904,1905],{"class":113},"# COPY nginx.conf /etc/nginx/nginx.conf\n",[103,1907,1908],{"class":105,"line":1135},[103,1909,599],{"emptyLinePlaceholder":598},[103,1911,1912],{"class":105,"line":1143},[103,1913,1914],{"class":113},"# Создаём директорию для файлов сайта\n",[103,1916,1917],{"class":105,"line":1159},[103,1918,1919],{"class":113},"RUN mkdir -p /var/www/html\n",[103,1921,1922],{"class":105,"line":1185},[103,1923,599],{"emptyLinePlaceholder":598},[103,1925,1926],{"class":105,"line":1199},[103,1927,1928],{"class":113},"# Копируем локальный файл index.html в образ\n",[103,1930,1931],{"class":105,"line":1204},[103,1932,1933],{"class":113},"COPY index.html /var/www/html/index.html\n",[103,1935,1936],{"class":105,"line":1210},[103,1937,599],{"emptyLinePlaceholder":598},[103,1939,1940],{"class":105,"line":1219},[103,1941,1942],{"class":113},"# Открываем порт 80\n",[103,1944,1946],{"class":105,"line":1945},19,[103,1947,1948],{"class":113},"EXPOSE 80\n",[103,1950,1952],{"class":105,"line":1951},20,[103,1953,599],{"emptyLinePlaceholder":598},[103,1955,1957],{"class":105,"line":1956},21,[103,1958,1959],{"class":113},"# Запускаем nginx в foreground\n",[103,1961,1963],{"class":105,"line":1962},22,[103,1964,1965],{"class":113},"CMD [\"nginx\", \"-g\", \"daemon off;\"]\n",[103,1967,1969],{"class":105,"line":1968},23,[103,1970,1971],{"class":113},"EOF\n",[38,1973,1974,1975,1978,1979],{},"Создайте простой ",[100,1976,1977],{},"index.html"," в той же директории:",[93,1980,1982],{"className":95,"code":1981,"language":97,"meta":98,"style":98},"echo \"\u003Ch1>Hello from my custom Docker image!\u003C/h1>\" > index.html\n",[100,1983,1984],{"__ignoreMap":98},[103,1985,1986,1988,1991,1993],{"class":105,"line":106},[103,1987,317],{"class":130},[103,1989,1990],{"class":113}," \"\u003Ch1>Hello from my custom Docker image!\u003C/h1>\"",[103,1992,351],{"class":296},[103,1994,1995],{"class":113}," index.html\n",[38,1997,1998,1999,2020],{},"Соберите образ:",[93,2000,2002],{"className":95,"code":2001,"language":97,"meta":98,"style":98},"docker build -t my-custom-nginx:latest .\n",[100,2003,2004],{"__ignoreMap":98},[103,2005,2006,2008,2011,2014,2017],{"class":105,"line":106},[103,2007,500],{"class":109},[103,2009,2010],{"class":113}," build",[103,2012,2013],{"class":130}," -t",[103,2015,2016],{"class":113}," my-custom-nginx:latest",[103,2018,2019],{"class":113}," .\n",[35,2021,2022,2028],{},[38,2023,2024,2027],{},[100,2025,2026],{},"-t"," — тег (имя:версия) образа.",[38,2029,2030,2032],{},[100,2031,70],{}," — контекст сборки (текущая директория).",[38,2034,2035,2036,2062,2065,2066,2069],{},"Запустите контейнер из нового образа:",[93,2037,2039],{"className":95,"code":2038,"language":97,"meta":98,"style":98},"docker run -d -p 8081:80 --name my-app my-custom-nginx:latest\n",[100,2040,2041],{"__ignoreMap":98},[103,2042,2043,2045,2047,2049,2051,2054,2056,2059],{"class":105,"line":106},[103,2044,500],{"class":109},[103,2046,681],{"class":113},[103,2048,1085],{"class":130},[103,2050,1629],{"class":130},[103,2052,2053],{"class":113}," 8081:80",[103,2055,1575],{"class":130},[103,2057,2058],{"class":113}," my-app",[103,2060,2061],{"class":113}," my-custom-nginx:latest\n",[2063,2064],"br",{},"Откройте ",[100,2067,2068],{},"http://localhost:8081"," — вы увидите свой заголовок.",[16,2071,2073],{"id":2072},"проверка-результата","Проверка результата",[21,2075,2076],{},"Вы успешно освоили базовый цикл работы с Docker, если можете:",[992,2078,2079,2082,2089,2095],{},[38,2080,2081],{},"Установить Docker на чистую систему Linux.",[38,2083,2084,2085,2088],{},"Запустить контейнер из образа ",[100,2086,2087],{},"nginx"," и увидеть страницу в браузере.",[38,2090,2091,2092,2094],{},"Создать ",[100,2093,1829],{},", собрать из него образ и запустить контейнер.",[38,2096,2097,2098],{},"Остановить и удалить все созданные ресурсы:\n",[93,2099,2101],{"className":95,"code":2100,"language":97,"meta":98,"style":98},"docker stop my-ubuntu web-server my-app\ndocker rm my-ubuntu web-server my-app\ndocker rmi ubuntu:22.04 nginx:alpine my-custom-nginx:latest\n",[100,2102,2103,2116,2128],{"__ignoreMap":98},[103,2104,2105,2107,2109,2111,2113],{"class":105,"line":106},[103,2106,500],{"class":109},[103,2108,1728],{"class":113},[103,2110,1578],{"class":113},[103,2112,1626],{"class":113},[103,2114,2115],{"class":113}," my-app\n",[103,2117,2118,2120,2122,2124,2126],{"class":105,"line":120},[103,2119,500],{"class":109},[103,2121,1764],{"class":113},[103,2123,1578],{"class":113},[103,2125,1626],{"class":113},[103,2127,2115],{"class":113},[103,2129,2130,2132,2134,2136,2139],{"class":105,"line":595},[103,2131,500],{"class":109},[103,2133,1539],{"class":113},[103,2135,1581],{"class":113},[103,2137,2138],{"class":113}," nginx:alpine",[103,2140,2061],{"class":113},[16,2142,699],{"id":698},[85,2144,2146,2147],{"id":2145},"ошибка-got-permission-denied-while-trying-to-connect-to-the-docker-daemon-socket","Ошибка: ",[100,2148,2149],{},"Got permission denied while trying to connect to the Docker daemon socket...",[21,2151,2152,2155,2156,2158,2159,2162,2163,2166,2167,1016],{},[41,2153,2154],{},"Причина:"," Текущий пользователь не в группе ",[100,2157,500],{}," или сессия не перезагружена.\n",[41,2160,2161],{},"Решение:"," Выполните ",[100,2164,2165],{},"sudo usermod -aG docker $USER",", выйдите из терминала и зайдите заново (или ",[100,2168,657],{},[85,2170,2172],{"id":2171},"контейнер-мгновенно-завершается-после-запуска","Контейнер мгновенно завершается после запуска",[21,2174,2175,2177,2178,2181,2182,2184,2185,2188,2189,2192],{},[41,2176,2154],{}," Основной процесс внутри контейнера завершился (например, команда ",[100,2179,2180],{},"docker run ubuntu echo \"test\"",").\n",[41,2183,2161],{}," Для долгоживущих контейнеров (веб-серверы, базы) основной процесс должен работать в foreground (как ",[100,2186,2187],{},"nginx -g 'daemon off;'","). Используйте ",[100,2190,2191],{},"docker logs \u003Ccontainer_id>"," для просмотра причины завершения.",[85,2194,2196],{"id":2195},"не-хватает-места-на-диске","Не хватает места на диске",[21,2198,2199,2201,2202,2204],{},[41,2200,2154],{}," Накопление образов, контейнеров, вольюмов.\n",[41,2203,2161],{}," Очистите неиспользуемые ресурсы:",[93,2206,2208],{"className":95,"code":2207,"language":97,"meta":98,"style":98},"# Удалить все остановленные контейнеры, неиспользуемые сети и dangling-образы\ndocker system prune\n\n# Удалить ВСЕ неиспользуемые данные (осторожно!)\ndocker system prune -a --volumes\n",[100,2209,2210,2215,2225,2229,2234],{"__ignoreMap":98},[103,2211,2212],{"class":105,"line":106},[103,2213,2214],{"class":578},"# Удалить все остановленные контейнеры, неиспользуемые сети и dangling-образы\n",[103,2216,2217,2219,2222],{"class":105,"line":120},[103,2218,500],{"class":109},[103,2220,2221],{"class":113}," system",[103,2223,2224],{"class":113}," prune\n",[103,2226,2227],{"class":105,"line":595},[103,2228,599],{"emptyLinePlaceholder":598},[103,2230,2231],{"class":105,"line":602},[103,2232,2233],{"class":578},"# Удалить ВСЕ неиспользуемые данные (осторожно!)\n",[103,2235,2236,2238,2240,2243,2246],{"class":105,"line":608},[103,2237,500],{"class":109},[103,2239,2221],{"class":113},[103,2241,2242],{"class":113}," prune",[103,2244,2245],{"class":130}," -a",[103,2247,2248],{"class":130}," --volumes\n",[775,2250,2251],{},"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);}",{"title":98,"searchDepth":120,"depth":120,"links":2253},[2254,2255,2256,2261,2262,2268,2275,2276,2277],{"id":962,"depth":120,"text":963},{"id":986,"depth":120,"text":987},{"id":1019,"depth":120,"text":1020,"children":2257},[2258,2259,2260],{"id":1026,"depth":595,"text":1027},{"id":1238,"depth":595,"text":1239},{"id":1321,"depth":595,"text":1322},{"id":1342,"depth":120,"text":1343},{"id":1424,"depth":120,"text":1425,"children":2263},[2264,2265,2266,2267],{"id":1434,"depth":595,"text":1435},{"id":1470,"depth":595,"text":1471},{"id":1495,"depth":595,"text":1496},{"id":1526,"depth":595,"text":1527},{"id":1547,"depth":120,"text":1548,"children":2269},[2270,2271,2272,2273,2274],{"id":1557,"depth":595,"text":1558},{"id":1607,"depth":595,"text":1608},{"id":1658,"depth":595,"text":1659},{"id":1710,"depth":595,"text":1711},{"id":1789,"depth":595,"text":1790},{"id":1817,"depth":120,"text":1818},{"id":2072,"depth":120,"text":2073},{"id":698,"depth":120,"text":699,"children":2278},[2279,2281,2282],{"id":2145,"depth":595,"text":2280},"Ошибка: Got permission denied while trying to connect to the Docker daemon socket...",{"id":2171,"depth":595,"text":2172},{"id":2195,"depth":595,"text":2196},"2026-02-17 16:41:25","Пошаговая инструкция по Docker для начинающих. Установка, управление контейнерами и образы. Начните работать с контейнеризацией за 10 минут.","easy",[2287,2290,2293,2296],{"question":2288,"answer":2289},"В чём разница между Docker-образом и контейнером?","Образ — это неизменяемый шаблон (как рецепт), а контейнер — запущенный экземпляр этого образа (как приготовленное блюдо).",{"question":2291,"answer":2292},"Нужно ли использовать sudo с каждой командой docker?","По умолчанию — да. Чтобы избежать этого, добавьте текущего пользователя в группу docker: `sudo usermod -aG docker $USER` и перезайдите в систему.",{"question":2294,"answer":2295},"Как удалить все остановленные контейнеры?","Используйте команду `docker container prune`. Она удалит все остановленные контейнеры, сети и неиспользуемые образы (с флагом `--all`).",{"question":2297,"answer":2298},"Можно ли запускать Docker без root-прав в production?","Да, но это требует тонкой настройки безопасности (user namespaces, seccomp-профили). Для продакшена рекомендуется использовать rootless Docker или изолированные среды.",[2300,2303,2306,2309,2312],{"name":2301,"text":2302},"Установите Docker Engine","Установите официальный пакет Docker для вашего дистрибутива через репозиторий. Это гарантирует получение обновлений.",{"name":2304,"text":2305},"Запустите тестовый контейнер","Выполните простую команду `docker run hello-world` для проверки корректности установки и настройки прав.",{"name":2307,"text":2308},"Управление образами","Изучите основные команды для поиска, загрузки и удаления образов из Docker Hub или приватного реестра.",{"name":2310,"text":2311},"Запуск и управление контейнерами","Научитесь запускать контейнеры в фоновом режиме, просматривать логи и останавливать/удалять их.",{"name":2313,"text":2314},"Создайте простой Dockerfile","Напишите минимальный Dockerfile для сборки собственного образа на основе Alpine Linux с веб-сервером.",[2316,2317,2318,2319,2320,2321,2322,2323],"docker установка ubuntu","docker команды для начинающих","что такое docker контейнер","docker run пример","управление образами docker","docker linux инструкция","как запустить docker контейнер","dockerfile простой пример",{},[2326,2327,855],"/guides/linux/docker-compose-basics","/guides/linux/dockerfile-best-practices",{"title":952,"description":2284},"guides/linux/docker-basics","Это руководство поможет новичкам освоить Docker на Linux: от установки до управления контейнерами. Вы сможете запускать изолированные приложения и создавать собственные образы.",[863,500,851,2332,864],"cli","-eMjuBTBf9JPaBLzCojzmY0S5u31tg0Z94a-1R7Q7Ag",{"id":2335,"title":2336,"appliesTo":2337,"author":11,"body":2341,"canonical":797,"code":2378,"createdAt":3310,"description":3311,"difficulty":800,"draft":801,"estimatedTime":3312,"extension":803,"faq":3313,"howToSteps":3326,"howToTotalTime":797,"image":797,"keywords":3339,"locale":848,"meta":3350,"navigation":598,"path":855,"platform":851,"related":3351,"section":3355,"seo":3356,"severity":3357,"stem":3358,"summary":3359,"tags":3360,"twitterCreator":797,"twitterSite":797,"type":3364,"updatedAt":3310,"__hash__":3365},"content_ru/errors/linux/docker-permission-denied.md","Docker permission denied: причины и 5 проверенных способов решения",[2338,955,956,2339,2340],"Ubuntu 20.04+","RHEL 8+","Fedora 35+",{"type":13,"value":2342,"toc":3296},[2343,2350,2359,2362,2370,2384,2387,2461,2464,2517,2523,2527,2620,2627,2630,2637,2654,2661,2669,2678,2683,2690,2702,2705,2718,2725,2728,2749,2754,2765,2769,2775,2780,2796,2799,2805,2813,2818,2846,2851,2867,2880,2884,2894,2899,2922,2927,2942,2945,2965,2985,2994,3010,3015,3029,3033,3038,3057,3063,3068,3083,3086,3106,3111,3130,3132,3136,3185,3189,3207,3227,3242,3261,3281,3293],[21,2344,2345,2346,2349],{},"-",[100,2347,2348],{},"и владелец","root:docker`.\"",[35,2351,2352],{},[38,2353,2354,2355,2358],{},"name: \"Временное решение через sudo\"\ntext: \"Для срочного запуска используйте ",[100,2356,2357],{},"sudo docker ...",", но это не рекомендуется для повседневной работы из-за рисков безопасности.\"\nhowToTotalTime: \"PT15M\"",[2360,2361],"hr",{},[16,2363,2365,2366,2369],{"id":2364},"что-означает-ошибка-permission-denied-в-docker","Что означает ошибка ",[100,2367,2368],{},"permission denied"," в Docker",[21,2371,2372,2373,2375,2376,2379,2380,2383],{},"Ошибка ",[100,2374,2368],{}," (иногда с кодом ",[100,2377,2378],{},"EACCES",") означает, что текущий пользователь Linux не имеет прав на доступ к демону Docker (через сокет ",[100,2381,2382],{},"/var/run/docker.sock",") или к файлам/директориям внутри контейнера/образов.",[21,2385,2386],{},"Типичный полный текст:",[93,2388,2390],{"className":95,"code":2389,"language":97,"meta":98,"style":98},"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",[100,2391,2392],{"__ignoreMap":98},[103,2393,2394,2397,2400,2403,2406,2409,2412,2415,2418,2420,2423,2426,2429,2432,2435,2438,2441,2444,2447,2450,2453,2456,2458],{"class":105,"line":106},[103,2395,2396],{"class":109},"docker:",[103,2398,2399],{"class":113}," Got",[103,2401,2402],{"class":113}," permission",[103,2404,2405],{"class":113}," denied",[103,2407,2408],{"class":113}," while",[103,2410,2411],{"class":113}," trying",[103,2413,2414],{"class":113}," to",[103,2416,2417],{"class":113}," connect",[103,2419,2414],{"class":113},[103,2421,2422],{"class":113}," the",[103,2424,2425],{"class":113}," Docker",[103,2427,2428],{"class":113}," daemon",[103,2430,2431],{"class":113}," socket",[103,2433,2434],{"class":113}," at",[103,2436,2437],{"class":113}," unix:///var/run/docker.sock:",[103,2439,2440],{"class":113}," Post",[103,2442,2443],{"class":113}," \"http://%2Fvar%2Frun%2Fdocker.sock/v1.41/containers/create\":",[103,2445,2446],{"class":113}," dial",[103,2448,2449],{"class":113}," unix",[103,2451,2452],{"class":113}," /var/run/docker.sock:",[103,2454,2455],{"class":113}," connect:",[103,2457,2402],{"class":113},[103,2459,2460],{"class":113}," denied.\n",[21,2462,2463],{},"Или при работе с файлами:",[93,2465,2467],{"className":95,"code":2466,"language":97,"meta":98,"style":98},"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",[100,2468,2469],{"__ignoreMap":98},[103,2470,2471,2473,2476,2479,2482,2485,2488,2491,2493,2496,2499,2502,2505,2508,2511,2514],{"class":105,"line":106},[103,2472,2396],{"class":109},[103,2474,2475],{"class":113}," Error",[103,2477,2478],{"class":113}," response",[103,2480,2481],{"class":113}," from",[103,2483,2484],{"class":113}," daemon:",[103,2486,2487],{"class":113}," Get",[103,2489,2490],{"class":113}," \"https://registry-1.docker.io/v2/\":",[103,2492,2446],{"class":113},[103,2494,2495],{"class":113}," tcp:",[103,2497,2498],{"class":113}," lookup",[103,2500,2501],{"class":113}," registry-1.docker.io:",[103,2503,2504],{"class":113}," Temporary",[103,2506,2507],{"class":113}," failure",[103,2509,2510],{"class":113}," in",[103,2512,2513],{"class":113}," name",[103,2515,2516],{"class":113}," resolution.\n",[21,2518,2519,2520,2522],{},"Ошибка появляется при выполнении любых команд ",[100,2521,500],{}," (run, ps, build, pull) от обычного пользователя.",[16,2524,2526],{"id":2525},"причины-возникновения","Причины возникновения",[992,2528,2529,2545,2562,2577,2591,2606],{},[38,2530,2531,2536,2538,2539,2541,2542,2544],{},[41,2532,2533,2534],{},"Пользователь не состоит в группе ",[100,2535,500],{},[2063,2537],{},"\nПо умолчанию сокет ",[100,2540,2382],{}," принадлежит группе ",[100,2543,500],{},". Если пользователь не в этой группе, доступ запрещён.",[38,2546,2547,2552,2554,2555,2558,2559,70],{},[41,2548,2549,2550],{},"Неправильные права на сокет ",[100,2551,2382],{},[2063,2553],{},"\nНапример, если сокет создан с правами ",[100,2556,2557],{},"600"," (только root) или владельцем ",[100,2560,2561],{},"root:root",[38,2563,2564,2567,2569,2570,2573,2574,70],{},[41,2565,2566],{},"SELinux в режиме enforcing (RHEL/CentOS/Fedora)",[2063,2568],{},"\nSELinux может блокировать доступ Docker к сокету или файлам. Часто проявляется в сообщениях ",[100,2571,2572],{},"avc: denied"," в ",[100,2575,2576],{},"audit.log",[38,2578,2579,2582,2584,2585,769,2588,70],{},[41,2580,2581],{},"AppArmor (Ubuntu/Debian)",[2063,2583],{},"\nПрофили AppArmor могут ограничивать доступ Docker. Ошибки в ",[100,2586,2587],{},"syslog",[100,2589,2590],{},"dmesg",[38,2592,2593,2596,2598,2599,2602,2603,70],{},[41,2594,2595],{},"Попытка монтирования хостовой директории без прав",[2063,2597],{},"\nПри ",[100,2600,2601],{},"docker run -v /host/path:/container"," если у пользователя нет прав на чтение/запись в ",[100,2604,2605],{},"/host/path",[38,2607,2608,2617,2619],{},[41,2609,2610,2611,769,2614],{},"Файловая система смонтирована с опцией ",[100,2612,2613],{},"noexec",[100,2615,2616],{},"nosuid",[2063,2618],{},"\nМожет мешать выполнению бинарников внутри контейнера.",[16,2621,2623,2624,2626],{"id":2622},"способ-1-добавить-пользователя-в-группу-docker-рекомендуемый","Способ 1: Добавить пользователя в группу ",[100,2625,500],{}," (рекомендуемый)",[21,2628,2629],{},"Это каноническое решение для большинства дистрибутивов.",[992,2631,2632],{},[38,2633,2634,2635,669],{},"Добавьте текущего пользователя в группу ",[100,2636,500],{},[93,2638,2640],{"className":95,"code":2639,"language":97,"meta":98,"style":98},"sudo usermod -aG docker $USER\n",[100,2641,2642],{"__ignoreMap":98},[103,2643,2644,2646,2648,2650,2652],{"class":105,"line":106},[103,2645,110],{"class":109},[103,2647,636],{"class":113},[103,2649,639],{"class":130},[103,2651,642],{"class":113},[103,2653,646],{"class":645},[21,2655,2656,2657,2660],{},"Флаг ",[100,2658,2659],{},"-aG"," (append to group) критически важен — без него пользователь может быть удалён из других групп.",[992,2662,2663],{"start":120},[38,2664,2665,2668],{},[41,2666,2667],{},"Примените изменения",": выйдите из терминала и системы (или перезагрузите). В новом сеансе проверьте:",[93,2670,2672],{"className":95,"code":2671,"language":97,"meta":98,"style":98},"groups\n",[100,2673,2674],{"__ignoreMap":98},[103,2675,2676],{"class":105,"line":106},[103,2677,2671],{"class":109},[21,2679,2680,2681,70],{},"В списке должна быть ",[100,2682,500],{},[992,2684,2685],{"start":595},[38,2686,2687,2688,669],{},"Проверьте, что команды работают без ",[100,2689,110],{},[93,2691,2692],{"className":95,"code":672,"language":97,"meta":98,"style":98},[100,2693,2694],{"__ignoreMap":98},[103,2695,2696,2698,2700],{"class":105,"line":106},[103,2697,500],{"class":109},[103,2699,681],{"class":113},[103,2701,684],{"class":113},[21,2703,2704],{},"Если контейнер запустился — проблема решена.",[72,2706,2707],{},[21,2708,2709,2710,2713,2714,2717],{},"⚠️ ",[41,2711,2712],{},"Важно:"," После добавления в группу необходимо ",[41,2715,2716],{},"новый логин",". Это распространённая ошибка.",[16,2719,2721,2722,2724],{"id":2720},"способ-2-временный-запуск-через-sudo-не-для-продакшена","Способ 2: Временный запуск через ",[100,2723,110],{}," (не для продакшена)",[21,2726,2727],{},"Если нужно срочно запустить контейнер, а настройку групп сделать нельзя:",[93,2729,2731],{"className":95,"code":2730,"language":97,"meta":98,"style":98},"sudo docker run -it ubuntu bash\n",[100,2732,2733],{"__ignoreMap":98},[103,2734,2735,2737,2739,2741,2743,2746],{"class":105,"line":106},[103,2736,110],{"class":109},[103,2738,642],{"class":113},[103,2740,681],{"class":113},[103,2742,1572],{"class":130},[103,2744,2745],{"class":113}," ubuntu",[103,2747,2748],{"class":113}," bash\n",[21,2750,2751],{},[41,2752,2753],{},"Недостатки:",[35,2755,2756,2759,2762],{},[38,2757,2758],{},"Контейнер получает root-права хоста (опасность).",[38,2760,2761],{},"Файлы, созданные в контейнере, будут принадлежать root на хосте.",[38,2763,2764],{},"Неудобно для повседневной работы.",[16,2766,2768],{"id":2767},"способ-3-проверитьисправить-права-на-сокет-вручную","Способ 3: Проверить/исправить права на сокет вручную",[21,2770,2771,2772,2774],{},"Если группа ",[100,2773,500],{}," есть, но доступ всё равно denied:",[992,2776,2777],{},[38,2778,2779],{},"Проверьте текущие права:",[93,2781,2783],{"className":95,"code":2782,"language":97,"meta":98,"style":98},"ls -l /var/run/docker.sock\n",[100,2784,2785],{"__ignoreMap":98},[103,2786,2787,2790,2793],{"class":105,"line":106},[103,2788,2789],{"class":109},"ls",[103,2791,2792],{"class":130}," -l",[103,2794,2795],{"class":113}," /var/run/docker.sock\n",[21,2797,2798],{},"Ожидаемый вывод:",[93,2800,2803],{"className":2801,"code":2802,"language":693},[691],"srw-rw---- 1 root docker 0 Фев 16 12:00 /var/run/docker.sock\n",[100,2804,2802],{"__ignoreMap":98},[21,2806,2807,2808,2810,2811,669],{},"Если группа не ",[100,2809,500],{}," или права ",[100,2812,2557],{},[992,2814,2815],{"start":120},[38,2816,2817],{},"Установите правильного владельца и права:",[93,2819,2821],{"className":95,"code":2820,"language":97,"meta":98,"style":98},"sudo chown root:docker /var/run/docker.sock\nsudo chmod 660 /var/run/docker.sock\n",[100,2822,2823,2835],{"__ignoreMap":98},[103,2824,2825,2827,2830,2833],{"class":105,"line":106},[103,2826,110],{"class":109},[103,2828,2829],{"class":113}," chown",[103,2831,2832],{"class":113}," root:docker",[103,2834,2795],{"class":113},[103,2836,2837,2839,2841,2844],{"class":105,"line":120},[103,2838,110],{"class":109},[103,2840,1116],{"class":113},[103,2842,2843],{"class":130}," 660",[103,2845,2795],{"class":113},[992,2847,2848],{"start":595},[38,2849,2850],{},"Перезапустите Docker (на всякий случай):",[93,2852,2854],{"className":95,"code":2853,"language":97,"meta":98,"style":98},"sudo systemctl restart docker\n",[100,2855,2856],{"__ignoreMap":98},[103,2857,2858,2860,2862,2865],{"class":105,"line":106},[103,2859,110],{"class":109},[103,2861,586],{"class":113},[103,2863,2864],{"class":113}," restart",[103,2866,592],{"class":113},[72,2868,2869],{},[21,2870,2871,2872,2875,2876,2879],{},"💡 ",[41,2873,2874],{},"Совет:"," Права на сокет сбрасываются при перезагрузке Docker. Если проблема возвращается, проверьте конфигурацию демона (",[100,2877,2878],{},"/etc/docker/daemon.json",") или системные unit-файлы.",[16,2881,2883],{"id":2882},"способ-4-настройка-selinux-для-rhelcentosfedora","Способ 4: Настройка SELinux (для RHEL/CentOS/Fedora)",[21,2885,2886,2887,2890,2891,669],{},"Если ",[100,2888,2889],{},"getenforce"," возвращает ",[100,2892,2893],{},"Enforcing",[992,2895,2896],{},[38,2897,2898],{},"Проверьте логи SELinux на наличие отказов:",[93,2900,2902],{"className":95,"code":2901,"language":97,"meta":98,"style":98},"sudo ausearch -m avc -ts recent\n",[100,2903,2904],{"__ignoreMap":98},[103,2905,2906,2908,2911,2913,2916,2919],{"class":105,"line":106},[103,2907,110],{"class":109},[103,2909,2910],{"class":113}," ausearch",[103,2912,1079],{"class":130},[103,2914,2915],{"class":113}," avc",[103,2917,2918],{"class":130}," -ts",[103,2920,2921],{"class":113}," recent\n",[992,2923,2924],{"start":120},[38,2925,2926],{},"Самый быстрый способ (временно, до перезагрузки):",[93,2928,2930],{"className":95,"code":2929,"language":97,"meta":98,"style":98},"sudo setenforce 0\n",[100,2931,2932],{"__ignoreMap":98},[103,2933,2934,2936,2939],{"class":105,"line":106},[103,2935,110],{"class":109},[103,2937,2938],{"class":113}," setenforce",[103,2940,2941],{"class":130}," 0\n",[21,2943,2944],{},"Попробуйте запустить Docker. Если сработало — проблема в SELinux.",[992,2946,2947],{"start":595},[38,2948,2949,2950],{},"Для постоянного решения:\n",[35,2951,2952,2962],{},[38,2953,2954,2955,2573,2958,2961],{},"Либо переведите SELinux в режим ",[100,2956,2957],{},"permissive",[100,2959,2960],{},"/etc/selinux/config"," (небезопасно).",[38,2963,2964],{},"Либо создайте правильный политику:",[93,2966,2968],{"className":95,"code":2967,"language":97,"meta":98,"style":98},"sudo semanage permissive -a docker_t\n",[100,2969,2970],{"__ignoreMap":98},[103,2971,2972,2974,2977,2980,2982],{"class":105,"line":106},[103,2973,110],{"class":109},[103,2975,2976],{"class":113}," semanage",[103,2978,2979],{"class":113}," permissive",[103,2981,2245],{"class":130},[103,2983,2984],{"class":113}," docker_t\n",[35,2986,2987],{},[38,2988,2989,2990,2993],{},"Или установите пакет ",[100,2991,2992],{},"docker-selinux"," (если не установлен):",[93,2995,2997],{"className":95,"code":2996,"language":97,"meta":98,"style":98},"sudo yum install docker-selinux\n",[100,2998,2999],{"__ignoreMap":98},[103,3000,3001,3003,3005,3007],{"class":105,"line":106},[103,3002,110],{"class":109},[103,3004,198],{"class":113},[103,3006,127],{"class":113},[103,3008,3009],{"class":113}," docker-selinux\n",[992,3011,3012],{"start":602},[38,3013,3014],{},"Верните enforcing:",[93,3016,3018],{"className":95,"code":3017,"language":97,"meta":98,"style":98},"sudo setenforce 1\n",[100,3019,3020],{"__ignoreMap":98},[103,3021,3022,3024,3026],{"class":105,"line":106},[103,3023,110],{"class":109},[103,3025,2938],{"class":113},[103,3027,3028],{"class":130}," 1\n",[16,3030,3032],{"id":3031},"способ-5-настройка-apparmor-ubuntudebian","Способ 5: Настройка AppArmor (Ubuntu/Debian)",[992,3034,3035],{},[38,3036,3037],{},"Проверьте, загружен ли профиль Docker:",[93,3039,3041],{"className":95,"code":3040,"language":97,"meta":98,"style":98},"sudo apparmor_status | grep docker\n",[100,3042,3043],{"__ignoreMap":98},[103,3044,3045,3047,3050,3052,3055],{"class":105,"line":106},[103,3046,110],{"class":109},[103,3048,3049],{"class":113}," apparmor_status",[103,3051,297],{"class":296},[103,3053,3054],{"class":109}," grep",[103,3056,592],{"class":113},[21,3058,3059,3060,70],{},"Должно быть ",[100,3061,3062],{},"docker-default (enforced)",[992,3064,3065],{"start":120},[38,3066,3067],{},"Если профиль вызывает проблемы, можно его отключить (временно):",[93,3069,3071],{"className":95,"code":3070,"language":97,"meta":98,"style":98},"sudo aa-disable /etc/apparmor.d/docker\n",[100,3072,3073],{"__ignoreMap":98},[103,3074,3075,3077,3080],{"class":105,"line":106},[103,3076,110],{"class":109},[103,3078,3079],{"class":113}," aa-disable",[103,3081,3082],{"class":113}," /etc/apparmor.d/docker\n",[21,3084,3085],{},"Или для конкретного контейнера:",[93,3087,3089],{"className":95,"code":3088,"language":97,"meta":98,"style":98},"docker run --security-opt apparmor=unconfined ...\n",[100,3090,3091],{"__ignoreMap":98},[103,3092,3093,3095,3097,3100,3103],{"class":105,"line":106},[103,3094,500],{"class":109},[103,3096,681],{"class":113},[103,3098,3099],{"class":130}," --security-opt",[103,3101,3102],{"class":113}," apparmor=unconfined",[103,3104,3105],{"class":113}," ...\n",[992,3107,3108],{"start":595},[38,3109,3110],{},"Для постоянного решения переустановите Docker (профиль пересоздастся):",[93,3112,3114],{"className":95,"code":3113,"language":97,"meta":98,"style":98},"sudo apt-get install --reinstall docker-ce\n",[100,3115,3116],{"__ignoreMap":98},[103,3117,3118,3120,3122,3124,3127],{"class":105,"line":106},[103,3119,110],{"class":109},[103,3121,1044],{"class":113},[103,3123,127],{"class":113},[103,3125,3126],{"class":130}," --reinstall",[103,3128,3129],{"class":113}," docker-ce\n",[558,3131],{},[16,3133,3135],{"id":3134},"профилактика","Профилактика",[35,3137,3138,3149,3157,3163,3173,3179],{},[38,3139,3140,3143,3144,3146,3147,70],{},[41,3141,3142],{},"Никогда не работайте от root без необходимости."," Добавляйте пользователей в группу ",[100,3145,500],{}," вместо использования ",[100,3148,110],{},[38,3150,3151,3156],{},[41,3152,3153,3154],{},"Регулярно проверяйте права на ",[100,3155,2382],{}," после обновлений системы или Docker.",[38,3158,3159,3162],{},[41,3160,3161],{},"В продакшн-среде используйте rootless Docker"," (если поддерживается дистрибутивом) — это изолирует демон от root.",[38,3164,3165,3168,3169,3172],{},[41,3166,3167],{},"Для монтирования хостовых директорий"," убедитесь, что у пользователя есть права на них (например, ",[100,3170,3171],{},"chmod o+rx /host/path"," для чтения).",[38,3174,3175,3178],{},[41,3176,3177],{},"В дистрибутивах с SELinux/AppArmor"," не отключайте их полностью — настраивайте политики под Docker.",[38,3180,3181,3184],{},[41,3182,3183],{},"После Changes в группах"," напоминайте пользователям о необходимости перелогина.",[16,3186,3188],{"id":3187},"faq","FAQ",[21,3190,3191,3197,3199,3200,3203,3204,3206],{},[41,3192,3193,3194,3196],{},"Q: Почему после добавления в группу ",[100,3195,500],{}," ошибка всё ещё есть?",[2063,3198],{},"\nA: Скорее всего, вы не вышли и не зашли заново в систему. Группы загружаются при логине. Проверьте ",[100,3201,3202],{},"id -nG"," — если ",[100,3205,500],{}," нет, нужно новый сеанс.",[21,3208,3209,3217,3219,3220,3223,3224,3226],{},[41,3210,3211,3212,261,3214,3216],{},"Q: Можно ли изменить группу сокета на ",[100,3213,110],{},[100,3215,500],{},"?",[2063,3218],{},"\nA: Технически ",[100,3221,3222],{},"sudo chown root:sudo /var/run/docker.sock"," сработает, но это нарушает принцип наименьших привилегий. Группа ",[100,3225,500],{}," создана специально для этого.",[21,3228,3229,3235,3237,3238,3241],{},[41,3230,3231,3232,3234],{},"Q: Как добавить группу ",[100,3233,500],{},", если её нет?",[2063,3236],{},"\nA: Группа создаётся автоматически при установке Docker. Если её нет, переустановите Docker или создайте вручную: ",[100,3239,3240],{},"sudo groupadd docker"," (обычно не требуется).",[21,3243,3244,3253,3255,3256,3258,3259,70],{},[41,3245,3246,3247,243,3249,3252],{},"Q: В чём разница между ",[100,3248,500],{},[100,3250,3251],{},"docker-root"," группами?",[2063,3254],{},"\nA: В некоторых дистрибутивах (например, older RHEL) может быть группа ",[100,3257,3251],{},". Она используется для rootless mode. Для обычного Docker нужна ",[100,3260,500],{},[21,3262,3263,3270,3272,3273,3276,3277,3280],{},[41,3264,3265,3266,3269],{},"Q: Почему ",[100,3267,3268],{},"chmod 666 /var/run/docker.sock"," — плохая идея?",[2063,3271],{},"\nA: Это даёт ",[41,3274,3275],{},"всем"," пользователям полный доступ к Docker-демону. Любой локальный пользователь сможет управлять контейнерами, включая запуск с привилегиями ",[100,3278,3279],{},"--privileged",", что эквивалентно root-доступу.",[21,3282,3283,3286,3288,3289,3292],{},[41,3284,3285],{},"Q: Как проверить, какой пользователь запущен в контейнере?",[2063,3287],{},"\nA: ",[100,3290,3291],{},"docker exec \u003Ccontainer> id",". Если uid/gid не совпадают с хостовыми, могут быть проблемы с правами на смонтированные volumes.",[775,3294,3295],{},"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":98,"searchDepth":120,"depth":120,"links":3297},[3298,3300,3301,3303,3305,3306,3307,3308,3309],{"id":2364,"depth":120,"text":3299},"Что означает ошибка permission denied в Docker",{"id":2525,"depth":120,"text":2526},{"id":2622,"depth":120,"text":3302},"Способ 1: Добавить пользователя в группу docker (рекомендуемый)",{"id":2720,"depth":120,"text":3304},"Способ 2: Временный запуск через sudo (не для продакшена)",{"id":2767,"depth":120,"text":2768},{"id":2882,"depth":120,"text":2883},{"id":3031,"depth":120,"text":3032},{"id":3134,"depth":120,"text":3135},{"id":3187,"depth":120,"text":3188},"2026-02-16 09:44:59","Ошибка 'permission denied' при запуске Docker? Узнайте, как исправить за 5-15 минут. Пошаговая инструкция для Ubuntu, Debian, CentOS. Добавьте пользователя в группу docker или настройте права.","15-30 мин",[3314,3317,3320,3323],{"answer":3315,"question":3316},"По умолчанию сокет Docker (`/var/run/docker.sock`) принадлежит группе `docker`. Если ваш пользователь не в этой группе, нужны права root (sudo). Добавление в группу решает проблему.","Почему Docker требует sudo, а другие команды нет?",{"answer":3318,"question":3319},"Можно, но это небезопасно. Запуск Docker от root дает контейнерам полный доступ к хосту. Лучше добавить пользователя в группу `docker`.","Можно ли игнорировать ошибку permission denied и работать с sudo?",{"answer":3321,"question":3322},"`usermod` добавляет пользователя в группу `docker` (рекомендуемый, безопасный способ). `chmod 666` даёт всем полный доступ к сокету — это небезопасно и сбрасывается после перезагрузки.","Чем отличается способ с `usermod` от изменения прав на сокет (`chmod`)?",{"answer":3324,"question":3325},"Да, нужно выйти из системы и заново войти (или перезагрузить), чтобы обновить группу. Проверьте `groups` в новом терминале.","Ошибка остаётся после добавления в группу docker?",[3327,3330,3333,3336],{"name":3328,"text":3329},"Добавить текущего пользователя в группу docker","Выполните команду `sudo usermod -aG docker $USER`. Это основной и безопасный способ granting доступа.",{"name":3331,"text":3332},"Применить изменения групп","Выйдите из системы и войдите заново ИЛИ перезагрузите компьютер. Без этого группа не активируется в текущей сессии.",{"name":3334,"text":3335},"Проверить членство в группе","Запустите `groups` в терминале. В выводе должна быть группа `docker`. Также проверьте `docker run hello-world` без sudo.",{"name":3337,"text":3338},"Проверить права на сокет (альтернатива)","Если группа не помогает, проверьте права: `ls -l /var/run/docker.sock`. Должно быть `srw-rw",[3340,3341,3342,3343,3344,3345,3346,3347,3348,3349],"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 права",{},[3352,3353,3354],"/errors/linux/docker-cannot-connect-to-daemon","/guides/linux/docker-install-ubuntu","/errors/linux/selinux-permission-denied","Ошибки Docker",{"title":2336,"description":3311},"high","errors/linux/docker-permission-denied","Статья объясняет, почему возникает ошибка доступа Docker в Linux, и предлагает 5 практических способов её устранения — от добавления пользователя в группу до настройки SELinux/AppArmor.",[3355,3361,3362,500,3363,864],"permissions","Linux","sysadmin","error","uyX0PdQBhZ3p0O9G_-nxKxMLEh_R_InrSXRp04TngkA"]