Як встановити Docker на CentOS: Повний покроковий посібник
Docker принципово змінив те, як розробники створюють, доставляють і запускають додатки. Упаковуючи програмне забезпечення в легкі, портативні контейнери, Docker усуває класичну проблему “це працює на моїй машині” і значно спрощує як робочі процеси розробки, так і розгортання в продакшені. Якщо ви використовуєте CentOS і хочете використовувати потужність контейнеризації, цей комплексний посібник проведе вас через кожен крок — від оновлення свіжої системи до розширеної конфігурації.
Незалежно від того, розгортаєте ви один веб-додаток або організовуєте складні багатоконтейнерні середовища, правильне встановлення Docker на CentOS є критичним першим кроком.
Передумови
Перед тим, як почати, переконайтеся, що у вас є:
- Сервер CentOS 7 або CentOS 8 (фізичний або віртуальний)
- Обліковий запис користувача з
sudoпривілеями - Стабільне інтернет-з’єднання
- Базове знайомство з командним рядком Linux
> Корисна порада: Для найкращого досвіду роботи з Docker розглядайте можливість запуску його на плані VPS Hosting. Віртуальний приватний сервер надає вам повний доступ root, виділені ресурси та гнучкість для запуску контейнерів без обмежень спільних середовищ.
Крок 1: Оновлення системи
Перед встановленням будь-якого нового програмного забезпечення завжди оновлюйте існуючі пакети, щоб забезпечити сумісність і безпеку. Виконайте наступну команду:
sudo yum update -yЦя команда оновлює всі встановлені пакети до їхніх найновіших версій. Це може зайняти кілька хвилин залежно від кількості очікуваних оновлень. Повністю оновлена система зменшує ризик конфліктів залежностей під час встановлення Docker.
Крок 2: Встановлення необхідних залежностей
Docker залежить від кількох системних пакетів для правильної роботи. Встановіть їх однією командою:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2Ось що робить кожен пакет:
| Пакет | Призначення |
|---|---|
yum-utils | Надає утиліту yum-config-manager для управління репозиторіями |
device-mapper-persistent-data | Необхідна для драйвера зберігання device mapper Docker |
lvm2 | Підтримка Logical Volume Manager для бекенду зберігання Docker |
Ці залежності забезпечують ефективне та надійне управління зберіганням контейнерів Docker у вашій системі CentOS.
Крок 3: Додайте офіційний репозиторій Docker
Стандартні репозиторії пакетів CentOS не включають найновіші пакети Docker. Вам потрібно додати офіційний репозиторій Docker, щоб отримати найсвіжіший стабільний випуск:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoЦя команда додає офіційний репозиторій Docker для CentOS до списку репозиторіїв вашої системи. Використання офіційного джерела гарантує, що ви отримаєте справжні, актуальні пакети Docker безпосередньо від Docker Inc., а не потенційно застарілі версії з дзеркал третіх сторін.
Ви можете перевірити, що репозиторій був успішно додан, перелічивши ваші налаштовані репозиторії:
sudo yum repolistКрок 4: Встановлення Docker Engine
З репозиторієм на місці встановлення Docker є простим:
sudo yum install -y docker-ce docker-ce-cli containerd.io> Примітка: Рекомендується також встановити docker-ce-cli (інтерфейс командного рядка Docker) та containerd.io (контейнерне середовище виконання) разом з основним механізмом для повного, готового до виробництва налаштування.
Це встановлює Docker Community Edition (CE) — безплатну версію Docker з відкритим вихідним кодом, яка ідеально підходить як для розробки, так і для виробничих навантажень.
Крок 5: Запуск та включення служби Docker
Встановлення Docker не запускає його автоматично. Вам потрібно запустити демон Docker та налаштувати його на автоматичний запуск при завантаженні системи:
sudo systemctl start docker
sudo systemctl enable dockersystemctl start docker — Запускає службу Docker негайно
systemctl enable docker — Налаштовує Docker на автоматичний запуск при кожному перезавантаженні сервера
Перевірка статусу служби
Переконайтеся, що Docker працює правильно:
sudo systemctl status docker
Ви повинні побачити результат, що вказує на те, що служба активна (запущена). Якщо статус показує будь-які помилки, перегляньте системні журнали за допомогою journalctl -u docker для деталей усунення неполадок.
Крок 6: Перевірка встановлення Docker
Запустіть вбудований тест Docker, щоб підтвердити, що все працює як очікується:
sudo docker run hello-world
Ця команда виконує наступне:
Зв’язується з реєстром Docker Hub
Завантажує легкий образ тесту hello-worldЯкщо встановлення успішне, ви побачите результат, який починається з:
Hello from Docker!
This message shows that your installation appears to be working correctly.Вітаємо — Docker тепер повністю встановлений і працює на вашому сервері CentOS.
Крок 7: Налаштування Docker для користувачів без прав root (Опціонально, але рекомендується)
За замовчуванням команди Docker вимагають sudo (прав root). Для безпеки та зручності в середовищах розробки ви можете дозволити певним користувачам без прав root запускати команди Docker, додавши їх до групи docker.
Створення групи Docker
У більшості випадків ця група створюється автоматично під час встановлення. Якщо ні, створіть її вручну:
sudo groupadd dockerДодавання вашого користувача до групи Docker
Замініть your_username на фактичне ім’я користувача Linux:
sudo usermod -aG docker your_usernameЗастосування змін
Вийдіть і увійдіть знову, щоб оновити членство в групі. Крім того, активуйте зміну в поточному сеансі:
newgrp dockerТестування без Sudo
docker run hello-worldЯкщо це запускається без sudo і без помилки дозволу, конфігурація працює правильно.
> Попередження про безпеку: Група docker надає привілеї, еквівалентні користувачу root. Додавайте до цієї групи лише надійних користувачів у виробничих середовищах.
Крок 8: Довідник основних команд Docker
Після запуску Docker ось найважливіші команди, які ви будете використовувати щодня:
Управління контейнерами
# List all running containers
docker ps
# List all containers (including stopped ones)
docker ps -a
# Start a stopped container
docker start container_id
# Stop a running container
docker stop container_id
# Remove a container
docker rm container_id
# Remove all stopped containers at once
docker container pruneУправління образами
# List all locally stored images
docker images
# Pull an image from Docker Hub
docker pull image_name
# Pull a specific version/tag
docker pull image_name:tag
# Remove a local image
docker rmi image_name
# Remove all unused images
docker image prune -aЗапуск контейнерів
# Run a container interactively
docker run -it image_name /bin/bash
# Run a container in detached (background) mode
docker run -d image_name
# Run a container with port mapping
docker run -d -p 8080:80 image_name
# Run a container with a custom name
docker run -d --name my_container image_nameПерегляд журналів та статистики
# View container logs
docker logs container_id
# Follow live log output
docker logs -f container_id
# View real-time resource usage
docker statsКрок 9: Підтвердіть, що Docker запускається при завантаженні
Docker повинен уже бути налаштований на запуск при завантаженні після запуску systemctl enable docker. Щоб перевірити або повторно включити цю поведінку:
sudo systemctl enable dockerЩоб вимкнути автоматичний запуск (наприклад, на машині розробки, де вам не завжди потрібен Docker):
sudo systemctl disable dockerКрок 10: Розширена конфігурація (Опціонально)
Встановлення Docker Compose
Docker Compose — це важливий інструмент для визначення та управління багатоконтейнерними додатками за допомогою простого YAML файлу конфігурації. Встановіть найновішу стабільну версію:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeПеревірте встановлення:
docker-compose --versionЗа допомогою Docker Compose ви можете визначити цілі стеки додатків — веб-сервери, бази даних, кеші — в одному docker-compose.yml файлі та запустити їх усі однією командою: docker-compose up -d.
Конфігурація демона Docker
Ви можете налаштувати поведінку Docker, редагуючи (або створюючи) файл конфігурації демона:
sudo nano /etc/docker/daemon.jsonПриклад типової конфігурації:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
]
}Після редагування конфігурації демона перезавантажте Docker, щоб застосувати зміни:
sudo systemctl restart dockerТипові параметри демона, які ви можете налаштувати:
- Драйвер логування та ротація — Запобігайте тому, щоб логи контейнерів не займали весь дисковий простір
- Драйвер сховища —
overlay2— рекомендований драйвер для CentOS - Параметри DNS — Встановіть користувацькі DNS-сервери для контейнерів
- Дзеркала реєстру — Прискорте завантаження образів за допомогою локальних дзеркал
Конфігурація правил брандмауера (CentOS 7)
Якщо ви використовуєте firewalld, вам може знадобитися дозволити мережевий трафік Docker:
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --reloadВибір правильного хостинг-середовища для Docker
Запуск Docker у виробництві вимагає надійного, високопродуктивного серверного середовища. Ось найкращі варіанти залежно від вашого випадку використання:
- VPS Hosting — Ідеально для більшості розгортань Docker. Повний root-доступ, масштабовані ресурси та економічні ціни роблять VPS найкращим вибором для контейнеризованих додатків.
- Dedicated Servers — Найкраще для високонавантажених виробничих середовищ або коли вам потрібна максимальна продуктивність CPU, RAM та сховища для одночасного запуску десятків контейнерів.
- GPU Hosting — Ідеально для робочих навантажень AI/ML, які запускаються всередині Docker контейнерів та потребують GPU прискорення для навчання моделей або висновків.
- VPS з cPanel — Якщо вам потрібен Docker разом із зручною панеллю керування для управління веб-сайтами та електронною поштою, це поєднання пропонує найкраще з обох світів.
Усунення типових проблем Docker на CentOS
Docker Daemon не запускається
Перевірте системні журнали на деталі помилок:
journalctl -u docker --no-pager | tail -50Помилки Permission Denied
Якщо ви бачите Got permission denied while trying to connect to the Docker daemon socket, переконайтеся, що ваш користувач знаходиться в групі docker і що ви вийшли та повторно увійшли.
Не вдається завантажити образи
Перевірте, що ваш сервер має вихідний доступ в Інтернет і що DNS правильно розпізнає:
curl -I https://registry-1.docker.ioПроблеми з мережею контейнера
Перезавантажте Docker, щоб повторно ініціалізувати мережеві мости:
sudo systemctl restart dockerВисновок
Ви успішно встановили Docker на CentOS і маєте міцну основу для роботи з контейнерами. Ось короткий огляд того, що було розглянуто:
- ✅ Оновлено систему та встановлено залежності
- ✅ Додано офіційний репозиторій Docker
- ✅ Встановлено Docker CE та перевірено встановлення
- ✅ Налаштовано Docker для запуску при завантаженні
- ✅ Налаштовано доступ для користувача без прав root
- ✅ Вивчено основні команди Docker
- ✅ Встановлено Docker Compose для управління багатоконтейнерними додатками
- ✅ Досліджено параметри конфігурації демона
Docker на CentOS відкриває світ можливостей — від запуску ізольованих середовищ розробки до розгортання масштабованих архітектур мікросервісів у виробництві. Навички контейнеризації, які ви набудете тут, послужать основою для більш складних тем, таких як оркестрація Kubernetes, конвеєри CI/CD та розробка хмарних додатків.
Для найкращого досвіду роботи з Docker переконайтеся, що ваше серверне середовище відповідає завданню. Дослідіть плани VPS Hosting AlexHost для потужної, надійної та доступної основи для всіх ваших контейнеризованих робочих навантажень.
на всіх хостингових послугах