Docker для начинающих: что это такое, как установить и основные команды Docker

Админ
4 часа назад
0 комментария
Docker для начинающих: что это такое, как установить и основные команды Docker

В последние годы Docker стал одним из главных инструментов для разработчиков и системных администраторов. Практически любое современное приложение — от небольшого сайта на Laravel до сложной микросервисной архитектуры — можно запустить в Docker.

Если раньше настройка сервера могла занимать часы, то сегодня достаточно выполнить несколько команд, чтобы развернуть готовое окружение с PHP, MySQL, Redis, Nginx и другими сервисами.

В этой статье разберем, что такое Docker, как он работает, чем отличается от виртуальной машины, как установить Docker на Ubuntu и рассмотрим основные команды, которые используются каждый день.


Что такое Docker

Docker — это платформа для запуска приложений в изолированных контейнерах.

Контейнер содержит все необходимое для работы программы:

  • операционную среду;

  • библиотеки;

  • зависимости;

  • настройки;

  • само приложение.

Благодаря этому приложение будет работать одинаково независимо от того, запускаете вы его на локальном компьютере, тестовом сервере или в облаке.


Почему Docker стал настолько популярным

До появления Docker разработчики часто сталкивались с проблемой:

«У меня всё работает, а на сервере — нет».

Причина обычно заключалась в различиях между окружениями:

  • разные версии PHP;

  • разные версии MySQL;

  • отсутствующие библиотеки;

  • несовместимые настройки.

Docker решает эту проблему, позволяя запускать приложение в одинаковом окружении на любом сервере.


Контейнеры и образы

Чтобы понять Docker, важно различать два основных понятия.

Образ (Image)

Образ — это шаблон, из которого создаются контейнеры.

Например:

  • Ubuntu;

  • Nginx;

  • MySQL;

  • Redis;

  • PHP 8.4;

  • Node.js.

Образы скачиваются из Docker Hub или других реестров.


Контейнер (Container)

Контейнер — это уже запущенный экземпляр образа.

Можно создать несколько контейнеров из одного образа.

Например:

  • один контейнер MySQL;

  • один контейнер Redis;

  • один контейнер Nginx;

  • один контейнер Laravel.

Все они будут работать независимо друг от друга.


Чем Docker отличается от виртуальной машины

Многие новички путают Docker с VirtualBox или VMware.

Главное отличие заключается в том, что Docker использует ядро операционной системы хоста и не запускает полноценную гостевую ОС для каждого приложения.

Docker

Виртуальная машина

Использует ядро хостовой ОС

Запускает отдельную ОС

Быстрый запуск (секунды)

Запуск занимает минуты

Минимальное потребление памяти

Требует больше ресурсов

Легко масштабируется

Более сложна в управлении


Где используется Docker

Сегодня Docker применяется практически везде:

  • Laravel;

  • Symfony;

  • Django;

  • Node.js;

  • Go;

  • Java;

  • WordPress;

  • GitLab CI/CD;

  • Kubernetes;

  • VPN-панели;

  • микросервисные приложения.

Практически любой современный сервер можно полностью развернуть в Docker.


Установка Docker на Ubuntu 24.04

Сначала обновите систему:

sudo apt update
sudo apt upgrade -y

Установите необходимые пакеты:

sudo apt install ca-certificates curl gnupg lsb-release -y

Добавьте официальный репозиторий Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

Добавьте репозиторий:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list

Установите Docker:

sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Проверьте установку:

docker --version

Например:

Docker version 28.x.x

Проверка работы Docker

Выполните тестовый контейнер:

docker run hello-world

Если всё настроено правильно, Docker выведет приветственное сообщение.


Основные команды Docker

Просмотр версии

docker --version

Список работающих контейнеров

docker ps

Показать все контейнеры

docker ps -a

Список образов

docker images

Скачать образ

Например Ubuntu:

docker pull ubuntu

Или MySQL:

docker pull mysql:8.4

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

docker run ubuntu

Запуск в фоновом режиме:

docker run -d nginx

Остановить контейнер

docker stop container_id

Запустить остановленный контейнер

docker start container_id

Перезапустить контейнер

docker restart container_id

Удалить контейнер

docker rm container_id

Принудительное удаление

docker rm -f container_id

Удалить образ

docker rmi image_name

Просмотр логов

docker logs container_id

Следить за логами в режиме реального времени:

docker logs -f container_id

Подключиться к контейнеру

docker exec -it container_id bash

Для Alpine Linux:

docker exec -it container_id sh

Использование ресурсов

docker stats

Будет показано:

  • загрузка CPU;

  • использование памяти;

  • сетевой трафик;

  • использование диска.


Информация о системе Docker

docker info

Очистка неиспользуемых ресурсов

Удалить остановленные контейнеры:

docker container prune

Удалить неиспользуемые образы:

docker image prune

Полная очистка:

docker system prune -a

Внимание: эта команда удалит все неиспользуемые контейнеры, сети, образы и кэш.


Что такое Docker Compose

Если приложение состоит из нескольких сервисов, запускать каждый контейнер вручную неудобно.

Именно для этого используется Docker Compose.

Все сервисы описываются в одном файле:

services:
  nginx:
    image: nginx

  php:
    image: php:8.4-fpm

  mysql:
    image: mysql:8.4

  redis:
    image: redis

Теперь всё приложение можно запустить одной командой:

docker compose up -d

Полезные команды Docker Compose

Запустить проект:

docker compose up -d

Остановить проект:

docker compose down

Перезапустить сервисы:

docker compose restart

Посмотреть логи:

docker compose logs

Следить за логами:

docker compose logs -f

Посмотреть контейнеры проекта:

docker compose ps

Частые ошибки

Docker не запускается

Проверьте статус службы:

sudo systemctl status docker

Запустите сервис:

sudo systemctl start docker

Permission denied

Добавьте пользователя в группу Docker:

sudo usermod -aG docker $USER

После этого выйдите из системы и войдите снова.


Контейнер сразу завершается

Посмотрите журнал:

docker logs container_id

Чаще всего причина — ошибка конфигурации приложения или отсутствующие переменные окружения.


Советы по работе с Docker

Чтобы работа с Docker была стабильной и безопасной:

  • используйте официальные образы;

  • регулярно обновляйте Docker;

  • храните конфигурацию в Git;

  • используйте Docker Compose для проектов с несколькими сервисами;

  • не запускайте контейнеры с правами root без необходимости;

  • регулярно очищайте неиспользуемые образы и контейнеры.


Заключение

Docker значительно упрощает разработку, тестирование и развертывание приложений. Благодаря контейнерам разработчики получают одинаковое окружение на локальном компьютере и сервере, а администраторы — удобный способ управления сервисами и обновления инфраструктуры.

Если вы работаете с Laravel, PHP, Node.js, Python, VPN-панелями или любыми современными веб-приложениями, знание Docker уже давно стало не преимуществом, а необходимым навыком. Освоив базовые команды и принципы работы контейнеров, вы сможете быстрее разрабатывать проекты, проще переносить их между серверами и значительно сократить время на настройку окружения.

Понравилась статья? Поделитесь:

💬 Комментарии 0

Оставить комментарий

Пока нет комментариев.

Будьте первым, кто оставит своё мнение!