Как да инсталирате 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 | Необходимо за драйвера за съхранение на Docker device mapper |
lvm2 | Поддръжка на Logical Volume Manager за Docker’s storage backend |
Тези зависимости гарантират, че 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 (контейнерния runtime) заедно с основния двигател за пълна, готова за производство настройка.
Това инсталира 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 предпочитания избор за контейнеризирани приложения.
