Посібники/Як зупинити контейнери Docker
Як зупинити контейнери Docker на Mac — один або всі
Коротка відповідь
Щоб зупинити один контейнер Docker, виконайте docker stop з його назвою або ID; docker ps показує їх список. Щоб зупинити всі запущені контейнери, виконайте docker stop $(docker ps -q). У проєкті Compose docker compose stop зупиняє його контейнери, а docker compose down ще й видаляє їх. docker stop просить контейнер завершити роботу і примусово зупиняє його через 10 секунд. Контейнер, який запускається знову, має політику перезапуску; вимкніть її командою docker update --restart=no. Vitals, системний монітор для Mac, зупиняє контейнери зі смуги меню: список «Контейнери» показує памʼять кожного, а одне клацання зупиняє контейнер після підтвердження.
Як зупинити контейнери Docker з Термінала
- 01 Виконайте
docker ps, щоб побачити список запущених контейнерів з їхніми назвами та ID. - 02 Зупиніть один контейнер командою
docker stopз його назвою, наприкладdocker stop web-1. В одній команді можна вказати кілька контейнерів. - 03 Зупиніть усі запущені контейнери командою
docker stop $(docker ps -q).docker ps -qвиводить лише ID, а docker stop приймає їх усі. - 04 Для проєкту Compose виконайте
docker compose stopу його папці, щоб зупинити його сервіси, абоdocker compose down, щоб зупинити їх і видалити контейнери та мережу проєкту. Томи лишаються, якщо не додати-v. - 05 Знову виконайте
docker ps. Якщо контейнер досі в списку, він ще завершує роботу, а якщо він зʼявився знову за мить — у нього є політика перезапуску.
Ті самі команди працюють з OrbStack, Colima і Rancher Desktop, коли команда docker вказує на них. У Podman є podman stop, а podman stop -a зупиняє всі контейнери.
Зупинка контейнера завершує його процеси й зберігає все інше — файли, параметри й томи — для docker start. Тому це безпечний спосіб повернути памʼять і процесор від контейнера, яким ви не користуєтеся. Таблиця нижче порівнює зупинку з командами, до яких зазвичай вдаються поряд із нею.
docker stop, kill, pause, rm і compose down
| Команда | Що вона робить | Коли використовувати |
|---|---|---|
| docker stop | Надсилає SIGTERM, а через 10 секунд — SIGKILL | Майже завжди: програма встигає завершити запис і закрити зʼєднання |
| docker kill | Одразу надсилає SIGKILL | Контейнер ігнорує docker stop |
| docker pause | Заморожує процеси, які зберігають свою памʼять | Вам треба на час повернути процесор, а не памʼять |
| docker rm | Видаляє зупинений контейнер або запущений з -f | Він вам більше не потрібен; іменовані томи лишаються |
| docker compose stop | Зупиняє контейнери проєкту й зберігає їх | Ви скоро знову запустите той самий проєкт |
| docker compose down | Зупиняє й видаляє контейнери та мережу | Ви хочете наступного разу почати з чистого аркуша; додайте -v, щоб видалити й томи |
Чому зупинений контейнер знову запускається
Контейнер із політикою перезапуску Docker запускає знову. З always зупинений вами контейнер повертається під час наступного запуску Docker Desktop, тож контейнери, які ви зупинили вчора, після перезавантаження знову працюють. З unless-stopped зупинений контейнер лишається зупиненим. У файлах Compose restart: always часто задають для баз даних і кешів.
Щоб побачити політику контейнера, виконайте docker inspect --format '{{.HostConfig.RestartPolicy.Name}}' з його назвою. Щоб вимкнути її, виконайте docker update --restart=no з назвою або змініть restart: у файлі Compose.
Коли docker stop триває 10 секунд
Після SIGTERM docker stop чекає, доки завершиться головний процес контейнера. Процес, який ігнорує сигнал, — часто це shell-скрипт, що не передає його далі, — затримує зупинку на всі 10 секунд, доки Docker не завершить його примусово. docker stop -t 2 скорочує очікування. Якщо виправити образ, контейнер зупинятиметься одразу: запускайте програму через exec у скрипті entrypoint або задайте init: true для сервісу в Compose.
Зупинка контейнерів і повернення памʼяті
На Mac контейнери працюють в одній віртуальній машині Linux. Їхня зупинка звільняє памʼять усередині неї, але віртуальна машина може й далі тримати цю памʼять, тож Монітор активності може досі показувати великий Virtual Machine Service for Docker. Resource Saver або завершення Docker Desktop повертає її macOS; параметри див. у статті Docker використовує забагато памʼяті.
Зупинка контейнерів без Термінала
У поданні Containers у Docker Desktop є кнопка Stop для кожного контейнера й кожного проєкту Compose. Вона у вікні Docker Desktop, тож для цього треба відкрити програму. Програми для смуги меню, як-от Captain, показують контейнери під значком у смузі меню з кнопками запуску й зупинки для кожного. Vitals робить те саме зі смуги меню і додає те, чого жодна з них не показує: скільки памʼяті й процесора використовує кожен контейнер, щоб ви знали, який зупинити.
Що додає Vitals
Vitals зупиняє контейнери зі смуги меню Mac, показуючи їхню памʼять.
- Список «Контейнери» в спадній панелі: кожен запущений контейнер з його проєктом Compose, образом і смугою памʼяті
- Наведіть на контейнер вказівник і клацніть ×, що зʼявиться. Рядок попросить підтвердження, а потім зупинить контейнер так само, як
docker stop, з 10 секундами на завершення роботи - У вкладці «Контейнери» у вікні виберіть кілька контейнерів і клацніть, утримуючи Control, щоб зупинити їх разом, або клацніть проєкт Compose, утримуючи Control, і виберіть «Зупинити всі»
- Памʼять, процесор, мережа, диск і опубліковані порти кожного контейнера в Docker Desktop, OrbStack, Colima, Rancher Desktop і Podman
Варто знати
- Vitals запитує, перш ніж щось зупинити, і ніколи не запускає, не видаляє й не змінює контейнери.
- Контейнер із політикою перезапуску рушій може запустити знову. Вікно попереджає про це, коли запитує.
- Якщо рушій відмовляє або не відповідає, у рядку буде сказано, що контейнер досі працює.
- Список «Контейнери» зʼявляється, коли працює рушій.
Що питають люди
Як зупинити всі контейнери Docker одразу?
Виконайте docker stop $(docker ps -q). Команда отримує ID кожного запущеного контейнера й зупиняє кожен. У Vitals виберіть їх у вкладці «Контейнери» і клацніть, утримуючи Control, щоб зупинити разом.
Чим відрізняються docker stop і docker kill?
docker stop надсилає SIGTERM і чекає до 10 секунд, перш ніж примусово зупинити контейнер сигналом SIGKILL. docker kill одразу надсилає SIGKILL, тож програма не встигає завершити запис чи закрити зʼєднання.
Чим відрізняються docker compose stop і down?
docker compose stop зупиняє контейнери й зберігає їх для docker compose start. docker compose down зупиняє їх і видаляє контейнери та мережу проєкту; томи лишаються, якщо не додати -v.
Чому контейнер Docker знову запускається після зупинки?
У нього політика перезапуску always, тож Docker запускає його знову під час запуску Docker Desktop. Виконайте docker update --restart=no з його назвою або змініть restart: у файлі Compose.
Чи видаляє зупинка контейнера його дані?
Ні. Зупинений контейнер зберігає свої файли й томи, а docker start запускає його знову. docker rm видаляє контейнер; іменовані томи лишаються, доки ви їх не видалите.
Чи можна зупиняти контейнери Docker зі смуги меню Mac?
Так, за допомогою Vitals. Спадна панель у смузі меню показує запущені контейнери з їхньою памʼяттю, а одне клацання зупиняє контейнер після підтвердження. Це працює з Docker Desktop, OrbStack, Colima, Rancher Desktop і Podman.
У глосарії
Інші посібники
- Чому мій Mac такий повільний
- Що розряджає акумулятор Mac
- Яка програма використовує процесор чи памʼять
- Чому Mac не засинає
- Chrome використовує забагато памʼяті
- Чому вентилятори Mac такі гучні
- Як керувати швидкістю вентиляторів на Mac
- Як звільнити оперативну памʼять на Mac
- Docker використовує забагато памʼяті
- Мікшер гучності для Mac
- Cursor сильно навантажує процесор
- Claude Code використовує забагато памʼяті
- Ліміти використання Claude Code і Codex
- Програма Claude навантажує процесор
- Codex навантажує процесор
- Ollama використовує забагато памʼяті
- Альтернативи Монітору активності
- iStat Menus: альтернативи
- Stats: альтернативи
- Диспетчер завдань для Mac
- Найкращі системні монітори для Mac
- Найкращі монітори для смуги меню Mac
- Найкращі мікшери гучності для Mac
- htop для Mac
- Process Explorer для Mac
- Найкращі монітори температури для Mac