Початок роботи з Docker: базові команди

Ви неодноразово чули про Docker, бо це один з головних інструментів в арсеналі DevOps-інженерів

У NETFORCE Group спеціалісти використовують його ледь не щодня, а наші рекрутери все частіше звертають увагу на цей скіл під час відбору на проєкти клієнтів.

Ми розуміємо, що на страті новачкам важко розібратись одразу з кількома інструментами та запам’ятати найважливіше. Тому ми зібрали добірку основних команд Docker. Вона допоможе швидше зробити перші кроки в роботі з контейнерами.

Команди для старту і швидкої орієнтації

Перш ніж запускати контейнери чи працювати з образами, важливо розуміти, з яким Docker ви маєте справу і які можливості доступні прямо зараз. Саме з цих команд зазвичай починається будь-яка робота в терміналі.

Перевірка версії Docker

docker --version

Команда показує встановлену версію Docker. Вона здається дрібницею, але на практиці часто виручає: різні версії можуть по-різному поводитись із командами, прапорцями або новими можливостями.

Вбудована довідка Docker

docker --help

Docker має зручну систему підказок прямо в CLI. Команда виводить список доступних підкоманд і короткий опис кожної з них. Це швидший спосіб зорієнтуватись, ніж шукати документацію окремо.

Довідка для конкретної команди

docker run --help

Якщо потрібно розібратись у прапорцях або параметрах конкретної команди, достатньо додати --help. Ви одразу побачите всі доступні опції та приклади використання.

Цей підхід особливо корисний на старті, коли команди вводяться ще не на автоматі, а також у робочих ситуаціях, де важливо не помилитись з параметрами.

Робота з Docker-образами

Саме в образах зберігається застосунок, залежності, налаштування та все необхідне для запуску сервісу. 

Пошук образів у Docker Hub

Ця команда дозволяє знайти потрібний образ у Docker Hub — стандартному реєстрі Docker. У результатах ви побачите короткий опис, кількість зірок і рівень популярності образу.

docker search nginx

У практиці ми радимо звертати увагу на офіційні образи та ті, що регулярно оновлюються. Це зменшує ризики під час розгортання сервісів.

Завантаження образів

docker pull nginx

Ця команда завантажує останню доступну версію образу. Якщо потрібна конкретна версія, краще вказати тег:

docker pull nginx:1.25.3

Фіксація версії особливо важлива в робочих середовищах, де стабільність важливіша за найновіші оновлення.

Перегляд локальних образів

docker images

Показує всі образи, які збережені локально: назву репозиторію, тег, розмір і дату створення. Зручно використовувати для контролю простору на диску та швидкої перевірки того, з чим ви зараз працюєте.

Також рекомендуємо ознайомитись з наступним матеріалом: «Як ефективно переглядати журнали Docker та керувати ними?»

Створення власних образів

docker build -t myapp:1.0 .

Команда використовується для створення образу на основі Dockerfile. Прапорець -t дозволяє одразу задати назву та версію, що значно спрощує подальшу роботу з образом.

Ми рекомендуємо завжди тегувати образи під час збірки — це дисциплінує і полегшує керування версіями.

Видалення образів

docker rmi nginx:latest

Команда видаляє образ із локального сховища. Якщо образ використовується контейнером, Docker не дозволить його видалити.

У крайніх випадках можна застосувати примусове видалення:

docker rmi -f nginx:latest

Такий підхід варто використовувати обережно, особливо в робочих середовищах.

Запуск і керування контейнерами

Ці команди використовують для старту сервісів, їх перезапуску, зупинки та очищення середовища під час розробки й підтримки проєктів.

Запуск контейнера

docker run nginx

У такому вигляді контейнер запускається у режимі foreground та займає термінал. Для щоденної роботи зазвичай використовують фоновий режим:

docker run -d nginx

Часто також одразу налаштовують порти та задають ім’я контейнера:

docker run -d -p 8080:80 --name my-webserver nginx

Такий підхід спрощує подальше керування контейнером і робить конфігурацію більш зрозумілою.

Перегляд контейнерів

Ця команда показує лише активні контейнери:

docker ps

А ця виводить повний список контейнерів, включно зі зупиненими. Це одна з найчастіше використовуваних команд у роботі з Docker:

docker ps -a

Керування станом контейнера

Ці команди використовують для зупинки, запуску або перезапуску контейнерів. Вони особливо корисні під час оновлень, тестування або внесення змін у конфігурацію.

docker stop my-webserver
docker start my-webserver
docker restart my-webserver

Видалення контейнерів

docker rm happy_satoshi

Docker не дозволяє видаляти активні контейнери. У такому випадку їх потрібно спочатку зупинити або скористатися примусовим видаленням:

docker rm -f happy_satoshi

Примусове видалення миттєво зупиняє контейнер, тому його варто застосовувати обережно.

Дебаг і моніторинг контейнерів

Запуск контейнера ще не означає, що він працює правильно. У роботі часто доводиться перевіряти логи, заходити всередину та дивитись, як контейнер споживає ресурси. 

Тому нумо вчитись це робити.

Перегляд логів контейнера

Ця команда виводить логи контейнера — перше місце, куди варто дивитись, якщо сервіс не стартує або поводиться не так, як очікувалось:

docker logs awesome_heyrovsky

А для перегляду логів у режимі реального часу використовуйте:

docker logs -f awesome_heyrovsky

Виконання команд усередині контейнера

Наступна команда відкриває інтерактивну сесію всередині запущеного контейнера. Це дає змогу перевірити конфігурацію, змінні середовища, файли або запустити потрібну команду без зупинки сервісу.

docker exec -it awesome_heyrovsky /bin/bash

Детальна інформація про контейнер

Для цього застосуйте команду:

docker inspect awesome_heyrovsky

Вона повертає повну інформацію про контейнер у форматі JSON: налаштування мережі, змонтовані томи, змінні середовища та поточний стан.

Її використовують, коли потрібно перевірити конфігурацію або знайти причину нестандартної поведінки контейнера.

Моніторинг використання ресурсів

Ця команда показує споживання CPU, памʼяті, мережі та диска всіма запущеними контейнерами в режимі реального часу.

docker stats

Вона особливо корисна, коли сервіс починає працювати повільно, а причина неочевидна.

Прибирання та підтримка порядку в Docker

З часом середовище в Docker накопичує багато зайвого. Без регулярного прибирання це швидко перетворюється на проблему з дисковим простором і плутаниною в середовищі.

Як з цим боротись?

Видалення зупинених контейнерів

Команда нижче видаляє всі зупинені контейнери за один раз. Зручно використовувати після тестування або експериментів, коли в системі залишається багато непотрібних контейнерів.

docker container prune

Перед видаленням Docker попросить підтвердження, тому випадково втратити дані складно.

Очищення невикористовуваних образів

docker image prune

Ця команда прибирає образи, які не використовуються жодним контейнером. Це один із найпростіших способів звільнити дисковий простір без ризику зачепити робочі сервіси.

Комплексне очищення середовища

docker system prune

Команда видаляє одразу кілька типів ресурсів: зупинені контейнери, невикористовувані образи, мережі та кеш збірки.

Її варто застосовувати обережно, особливо на робочих серверах. Водночас для локального середовища це простий і швидкий спосіб навести порядок у Docker.

Післяслово

На початку роботи з Docker важлива не кількість команд, а впевнене користування базою. Те, що ви побачили в цьому рейтингу, закриває більшість щоденних задач.

Якщо ж самостійне опрацювання не для вас, тоді запрошуємо на авторський курс від ITEDU з підтримкою викладача. Лише 6 занять впродовж 3 тижнів прокачають ваші скіли на значно вищий рівень.

Побачимось на навчанні.

Залишити відповідь

Дякуємо, що поділились