[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/manage-docker-images":3,"mdc--25e4ur-key":542,"mdc--cfk3rl-key":562,"mdc--actp0m-key":586,"mdc--fxtf91-key":603,"mdc-xgcejr-key":619,"mdc-2jwttg-key":635,"mdc--jfb0dj-key":652,"mdc-dtmzjs-key":669,"mdc--3mbta0-key":684,"related-/guides/linux/docker-commands,/guides/linux/cleaning-up-containers,/guides/linux/docker-prune":707},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":476,"code":67,"createdAt":477,"description":478,"difficulty":479,"draft":480,"estimatedTime":481,"extension":482,"faq":483,"howToSteps":496,"howToTotalTime":512,"image":476,"keywords":513,"locale":521,"meta":522,"navigation":320,"path":523,"platform":524,"related":525,"section":529,"seo":530,"severity":67,"stem":531,"summary":532,"tags":533,"twitterCreator":476,"twitterSite":476,"type":540,"updatedAt":477,"__hash__":541},"content_ru/guides/linux/manage-docker-images.md","Управление Docker-образами: просмотр, удаление и оптимизация в Linux",[7,8,9,10],"Docker 20.10+","Ubuntu 22.04","Linux Mint 21","Debian 12","FixPedia Team",{"type":13,"value":14,"toc":463},"minimark",[15,20,24,28,49,53,58,61,89,92,96,103,132,150,154,157,175,182,185,189,196,216,223,227,230,276,279,352,356,359,373,379,383,432,443,459],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Управление Docker-образами — важная часть поддержания чистой и производительной системы. Накопление устаревших или больших образов занимает дисковое пространство, замедляет работу деплоя и может создавать путаницу при выборе нужного образа. После выполнения этого руководства вы сможете быстро просматривать, удалять и оптимизировать Docker-образы, что поможет вам поддерживать порядок в окружении Docker и избежать проблем с нехваткой места.",[16,25,27],{"id":26},"требования-подготовка","Требования / Подготовка",[29,30,31,35,43,46],"ul",{},[32,33,34],"li",{},"Установленный Docker (>=20.10) на Linux-системе.",[32,36,37,38,42],{},"Пользователь, имеющий права выполнения команд Docker (обычно добавлен в группу ",[39,40,41],"code",{},"docker",").",[32,44,45],{},"Достаточно свободного места для операций очистки.",[32,47,48],{},"Базовые знания работы с терминалом Linux.",[16,50,52],{"id":51},"управление-docker-образами","Управление Docker-образами",[54,55,57],"h3",{"id":56},"шаг-1-просмотр-списка-docker-образов","Шаг 1: Просмотр списка Docker-образов",[21,59,60],{},"Сначала посмотрите, какие образы у вас есть.",[62,63,68],"pre",{"className":64,"code":65,"language":66,"meta":67,"style":67},"language-bash shiki shiki-themes github-light github-dark","docker images --format \"table {{.Repository}}:{{.Tag}} {{.Size}}\"\n","bash","",[39,69,70],{"__ignoreMap":67},[71,72,75,78,82,86],"span",{"class":73,"line":74},"line",1,[71,76,41],{"class":77},"sScJk",[71,79,81],{"class":80},"sZZnC"," images",[71,83,85],{"class":84},"sj4cs"," --format",[71,87,88],{"class":80}," \"table {{.Repository}}:{{.Tag}} {{.Size}}\"\n",[21,90,91],{},"Этот формат вывода показывает репозиторий, тег и размер каждого образа в удобочитаемом виде.",[54,93,95],{"id":94},"шаг-2-удаление-конкретного-образа","Шаг 2: Удаление конкретного образа",[21,97,98,99,102],{},"Если вам нужен определенный образ, удалите его с помощью ",[39,100,101],{},"docker rmi",".",[62,104,106],{"className":64,"code":105,"language":66,"meta":67,"style":67},"docker rmi \u003Cimage_name>[:tag]\n",[39,107,108],{"__ignoreMap":67},[71,109,110,112,115,119,122,126,129],{"class":73,"line":74},[71,111,41],{"class":77},[71,113,114],{"class":80}," rmi",[71,116,118],{"class":117},"szBVR"," \u003C",[71,120,121],{"class":80},"image_nam",[71,123,125],{"class":124},"sVt8B","e",[71,127,128],{"class":117},">",[71,130,131],{"class":80},"[:tag]\n",[21,133,134,135,138,139,142,143,146,147,102],{},"Замените ",[39,136,137],{},"\u003Cimage_name>"," на фактическое имя образа (например, ",[39,140,141],{},"nginx"," или ",[39,144,145],{},"myapp:latest","). После удаления образ исчезнет из списка ",[39,148,149],{},"docker images",[54,151,153],{"id":152},"шаг-3-очистка-неиспользуемых-образов","Шаг 3: Очистка неиспользуемых образов",[21,155,156],{},"Для удаления всех образов, которые больше не используются никакими контейнерами, выполните команду:",[62,158,160],{"className":64,"code":159,"language":66,"meta":67,"style":67},"docker image prune -a\n",[39,161,162],{"__ignoreMap":67},[71,163,164,166,169,172],{"class":73,"line":74},[71,165,41],{"class":77},[71,167,168],{"class":80}," image",[71,170,171],{"class":80}," prune",[71,173,174],{"class":84}," -a\n",[21,176,177,178,181],{},"Флаг ",[39,179,180],{},"-a"," также включает одноразовые образы (без тега). Подтвердите удаление, когда система попросит.",[183,184],"in-article-ad",{},[54,186,188],{"id":187},"шаг-4-полная-очистка-кэша-docker","Шаг 4: Полная очистка кэша Docker",[21,190,191,192,195],{},"Более радикальная очистка — это ",[39,193,194],{},"docker system prune",". Она удаляет неиспользуемые контейнеры, сети, кэши образов и даже ненужные объемы.",[62,197,199],{"className":64,"code":198,"language":66,"meta":67,"style":67},"docker system prune -a --volumes\n",[39,200,201],{"__ignoreMap":67},[71,202,203,205,208,210,213],{"class":73,"line":74},[71,204,41],{"class":77},[71,206,207],{"class":80}," system",[71,209,171],{"class":80},[71,211,212],{"class":84}," -a",[71,214,215],{"class":84}," --volumes\n",[21,217,218,219,222],{},"Используйте ",[39,220,221],{},"--volumes",", если вам также нужно очистить данные томов, которые больше не привязаны к контейнерам.",[54,224,226],{"id":225},"шаг-5-оптимизация-размера-образа","Шаг 5: Оптимизация размера образа",[21,228,229],{},"Чтобы сделать образы меньше и быстрее, следуйте этим советам при сборке:",[231,232,233,247,253,262],"ol",{},[32,234,235,242,243,246],{},[236,237,238,239],"strong",{},"Добавьте ",[39,240,241],{},".dockerignore"," — исключите ненужные файлы (логи, временные файлы, ",[39,244,245],{},".git"," и т.д.).",[32,248,249,252],{},[236,250,251],{},"Используйте многослойную сборку"," — каждая инструкция в Dockerfile создает новый слой; объединяйте похожие операции (например, установка пакетов) в один слой.",[32,254,255,258,259,42],{},[236,256,257],{},"Удалите ненужные пакеты"," — если вы используете дистрибутив Linux внутри образа, удалите кэши apt после установки (",[39,260,261],{},"rm -rf /var/lib/apt/lists/*",[32,263,264,267,268,271,272,275],{},[236,265,266],{},"Кэшируйте только необходимые слои"," — используйте ",[39,269,270],{},"--cache-from"," и ",[39,273,274],{},"--cache-to",", чтобы повторно использовать уже собранные слои.",[21,277,278],{},"Пример Dockerfile с несколькими этапами сборки:",[62,280,284],{"className":281,"code":282,"language":283,"meta":67,"style":67},"language-dockerfile shiki shiki-themes github-light github-dark","FROM ubuntu:22.04 AS builder\nRUN apt-get update && apt-get install -y --no-install-recommends python3 python3-pip\nWORKDIR /app\nCOPY requirements.txt .\nRUN pip3 install -r requirements.txt\n\nFROM ubuntu:22.04\nRUN apt-get update && apt-get install -y --no-install-recommends python3 && rm -rf /var/lib/apt/lists/*\nCOPY --from=builder /usr/local/lib/python3.10/site-packages/ /usr/local/lib/python3.10/site-packages/\nCOPY --from=builder /app/ /app/\nCMD [\"python3\", \"-m\", \"app\"]\n","dockerfile",[39,285,286,291,297,303,309,315,322,328,334,340,346],{"__ignoreMap":67},[71,287,288],{"class":73,"line":74},[71,289,290],{},"FROM ubuntu:22.04 AS builder\n",[71,292,294],{"class":73,"line":293},2,[71,295,296],{},"RUN apt-get update && apt-get install -y --no-install-recommends python3 python3-pip\n",[71,298,300],{"class":73,"line":299},3,[71,301,302],{},"WORKDIR /app\n",[71,304,306],{"class":73,"line":305},4,[71,307,308],{},"COPY requirements.txt .\n",[71,310,312],{"class":73,"line":311},5,[71,313,314],{},"RUN pip3 install -r requirements.txt\n",[71,316,318],{"class":73,"line":317},6,[71,319,321],{"emptyLinePlaceholder":320},true,"\n",[71,323,325],{"class":73,"line":324},7,[71,326,327],{},"FROM ubuntu:22.04\n",[71,329,331],{"class":73,"line":330},8,[71,332,333],{},"RUN apt-get update && apt-get install -y --no-install-recommends python3 && rm -rf /var/lib/apt/lists/*\n",[71,335,337],{"class":73,"line":336},9,[71,338,339],{},"COPY --from=builder /usr/local/lib/python3.10/site-packages/ /usr/local/lib/python3.10/site-packages/\n",[71,341,343],{"class":73,"line":342},10,[71,344,345],{},"COPY --from=builder /app/ /app/\n",[71,347,349],{"class":73,"line":348},11,[71,350,351],{},"CMD [\"python3\", \"-m\", \"app\"]\n",[16,353,355],{"id":354},"проверка-результата","Проверка результата",[21,357,358],{},"После выполнения шагов проверьте, что операции прошли успешно:",[62,360,361],{"className":64,"code":65,"language":66,"meta":67,"style":67},[39,362,363],{"__ignoreMap":67},[71,364,365,367,369,371],{"class":73,"line":74},[71,366,41],{"class":77},[71,368,81],{"class":80},[71,370,85],{"class":84},[71,372,88],{"class":80},[21,374,375,376,102],{},"Если ненужные образы исчезли, вы увидите только оставшиеся образы. Также вы можете проверить освобождение места с помощью ",[39,377,378],{},"df -h",[16,380,382],{"id":381},"возможные-проблемы","Возможные проблемы",[29,384,385,395,410,418],{},[32,386,387,392,393,102],{},[236,388,389],{},[39,390,391],{},"Error: No such image"," – возможно, вы ввели неверное имя или тег. Проверьте список с помощью ",[39,394,149],{},[32,396,397,402,403,406,407,102],{},[236,398,399],{},[39,400,401],{},"Error response from daemon: conflict: unable to delete..."," – образ используется запущенным контейнером. Остановите контейнер (",[39,404,405],{},"docker stop \u003Ccontainer>",") или выполните ",[39,408,409],{},"docker container prune",[32,411,412,417],{},[236,413,414],{},[39,415,416],{},"Error: conflict: unable to delete \u003Cimage>... used by \u003Ccontainer>"," – удалите или остановите все контейнеры, которые ссылаются на образ, перед удалением.",[32,419,420,423,424,427,428,431],{},[236,421,422],{},"Дисковое пространство все еще низкое"," – убедитесь, что вы также удалили объемы (",[39,425,426],{},"docker volume prune",") и проверьте содержимое ",[39,429,430],{},"/var/lib/docker"," на наличие больших ненужных файлов.",[433,434,435],"blockquote",{},[21,436,437,438,271,440,442],{},"⚠️ Важно: всегда проверяйте дважды команды удаления, особенно ",[39,439,101],{},[39,441,194],{},", чтобы не удалить образ, который вам еще нужен.",[433,444,445],{},[21,446,447,448,142,451,454,455,458],{},"💡 Совет: добавьте алиасы в ваш ",[39,449,450],{},".bashrc",[39,452,453],{},".zshrc",", например ",[39,456,457],{},"dimages=\"docker images --format 'table {{.Repository}}:{{.Tag}} {{.Size}}'\"",", чтобы быстро вызывать часто используемые команды Docker.",[460,461,462],"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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":67,"searchDepth":293,"depth":293,"links":464},[465,466,467,474,475],{"id":18,"depth":293,"text":19},{"id":26,"depth":293,"text":27},{"id":51,"depth":293,"text":52,"children":468},[469,470,471,472,473],{"id":56,"depth":299,"text":57},{"id":94,"depth":299,"text":95},{"id":152,"depth":299,"text":153},{"id":187,"depth":299,"text":188},{"id":225,"depth":299,"text":226},{"id":354,"depth":293,"text":355},{"id":381,"depth":293,"text":382},null,"2026-06-28 09:20:45","Узнайте, как эффективно управлять Docker-образами на Linux: смотреть список, очищать ненужные, оптимизировать размер и использовать команды docker images, rmi, prune. Пошаговая инструкция за 5 минут.","medium",false,"10-15 мин","md",[484,487,490,493],{"question":485,"answer":486},"Как просмотреть все Docker-образа на системе?","Выполните команду `docker images --format \"table {{.Repository}}:{{.Tag}} {{.Size}}\"` для получения читаемого списка со размером.",{"question":488,"answer":489},"Что делать, если команда `docker rmi` выдает ошибку 'Cannot remove...'?'","Убедитесь, что образ не используется запущенными контейнерами (`docker ps -a`). Используйте `docker container prune` или остановите контейнеры перед удалением.",{"question":491,"answer":492},"Как очистить кэш и удалить все неиспользуемые данные Docker?","Запустите `docker system prune -a --volumes`, чтобы удалить все неиспользуемые образы, контейнеры, сети и объемы.",{"question":494,"answer":495},"Как оптимизировать размер Docker-образа перед публикацией?","Используйте многослойную сборку, добавьте `.dockerignore`, удалите ненужные пакеты и кэшируйте только необходимые слои.",[497,500,503,506,509],{"name":498,"text":499},"Просмотр списка Docker-образов","Выполните `docker images`, чтобы увидеть все локальные образы с их тегами, размерами и слоями.",{"name":501,"text":502},"Удаление конкретного образа","Для удаления образа используйте `docker rmi \u003Cimage_name>[:tag]`. Подтвердите удаление и проверьте отсутствие образа в списке.",{"name":504,"text":505},"Очистка неиспользуемых образов","Удалите все неиспользуемые образы командой `docker image prune -a`. Подтвердите удаление и проверьте освобождение места.",{"name":507,"text":508},"Полная очистка кэша Docker","Выполните `docker system prune -a --volumes`, чтобы удалить неиспользуемые контейнеры, сети, образы и объемы.",{"name":510,"text":511},"Оптимизация размера образа","Создавайте образы с помощью `--no-cache` и `.dockerignore`, используйте многослойную сборку и удаляйте ненужные пакеты перед финальным слоем.","PT15M",[514,515,516,101,194,517,518,519,520],"Docker образы Linux","docker images команда","удалить Docker образ","оптимизировать Docker образ","как очистить Docker","docker images список","docker image inspect","ru_RU",{},"/guides/linux/manage-docker-images","linux",[526,527,528],"/guides/linux/docker-commands","/guides/linux/cleaning-up-containers","/guides/linux/docker-prune","Гайды Docker",{"title":5,"description":478},"guides/linux/manage-docker-images","В этом руководстве вы узнаете, как работать с Docker-образами в Linux-системе: просматривать их, удалять ненужные, очищать кэш и оптимизировать размер образов. После выполнения инструкции вы сможете контролировать размер образа и избежать накопления мусора.",[534,535,536,537,538,539],"Docker","Linux","Images","CLI","Управление","Cleaning","guide","g9TgJyQkc2W8ecrR5cs8yUquB_6c9ARcuL11mXac-CI",{"data":543,"body":544},{},{"type":545,"children":546},"root",[547],{"type":548,"tag":21,"props":549,"children":550},"element",{},[551,554,560],{"type":552,"value":553},"text","Выполните команду ",{"type":548,"tag":39,"props":555,"children":557},{"className":556},[],[558],{"type":552,"value":559},"docker images --format \"table {{.Repository}}:{{.Tag}} {{.Size}}\"",{"type":552,"value":561}," для получения читаемого списка со размером.",{"data":563,"body":564},{},{"type":545,"children":565},[566],{"type":548,"tag":21,"props":567,"children":568},{},[569,571,577,579,584],{"type":552,"value":570},"Убедитесь, что образ не используется запущенными контейнерами (",{"type":548,"tag":39,"props":572,"children":574},{"className":573},[],[575],{"type":552,"value":576},"docker ps -a",{"type":552,"value":578},"). Используйте ",{"type":548,"tag":39,"props":580,"children":582},{"className":581},[],[583],{"type":552,"value":409},{"type":552,"value":585}," или остановите контейнеры перед удалением.",{"data":587,"body":588},{},{"type":545,"children":589},[590],{"type":548,"tag":21,"props":591,"children":592},{},[593,595,601],{"type":552,"value":594},"Запустите ",{"type":548,"tag":39,"props":596,"children":598},{"className":597},[],[599],{"type":552,"value":600},"docker system prune -a --volumes",{"type":552,"value":602},", чтобы удалить все неиспользуемые образы, контейнеры, сети и объемы.",{"data":604,"body":605},{},{"type":545,"children":606},[607],{"type":548,"tag":21,"props":608,"children":609},{},[610,612,617],{"type":552,"value":611},"Используйте многослойную сборку, добавьте ",{"type":548,"tag":39,"props":613,"children":615},{"className":614},[],[616],{"type":552,"value":241},{"type":552,"value":618},", удалите ненужные пакеты и кэшируйте только необходимые слои.",{"data":620,"body":621},{},{"type":545,"children":622},[623],{"type":548,"tag":21,"props":624,"children":625},{},[626,628,633],{"type":552,"value":627},"Выполните ",{"type":548,"tag":39,"props":629,"children":631},{"className":630},[],[632],{"type":552,"value":149},{"type":552,"value":634},", чтобы увидеть все локальные образы с их тегами, размерами и слоями.",{"data":636,"body":637},{},{"type":545,"children":638},[639],{"type":548,"tag":21,"props":640,"children":641},{},[642,644,650],{"type":552,"value":643},"Для удаления образа используйте ",{"type":548,"tag":39,"props":645,"children":647},{"className":646},[],[648],{"type":552,"value":649},"docker rmi \u003Cimage_name>[:tag]",{"type":552,"value":651},". Подтвердите удаление и проверьте отсутствие образа в списке.",{"data":653,"body":654},{},{"type":545,"children":655},[656],{"type":548,"tag":21,"props":657,"children":658},{},[659,661,667],{"type":552,"value":660},"Удалите все неиспользуемые образы командой ",{"type":548,"tag":39,"props":662,"children":664},{"className":663},[],[665],{"type":552,"value":666},"docker image prune -a",{"type":552,"value":668},". Подтвердите удаление и проверьте освобождение места.",{"data":670,"body":671},{},{"type":545,"children":672},[673],{"type":548,"tag":21,"props":674,"children":675},{},[676,677,682],{"type":552,"value":627},{"type":548,"tag":39,"props":678,"children":680},{"className":679},[],[681],{"type":552,"value":600},{"type":552,"value":683},", чтобы удалить неиспользуемые контейнеры, сети, образы и объемы.",{"data":685,"body":686},{},{"type":545,"children":687},[688],{"type":548,"tag":21,"props":689,"children":690},{},[691,693,699,700,705],{"type":552,"value":692},"Создавайте образы с помощью ",{"type":548,"tag":39,"props":694,"children":696},{"className":695},[],[697],{"type":552,"value":698},"--no-cache",{"type":552,"value":271},{"type":548,"tag":39,"props":701,"children":703},{"className":702},[],[704],{"type":552,"value":241},{"type":552,"value":706},", используйте многослойную сборку и удаляйте ненужные пакеты перед финальным слоем.",[]]