Контейнеризация преобразила развёртывание приложений, упаковывая программное обеспечение в изолированные, лёгкие среды, которые обеспечивают согласованность в разных системах. Docker на Ubuntu Server — это мощное сочетание, которое упрощает этот процесс, позволяя разработчикам и системным администраторам создавать, поставлять и запускать приложения без лишних сложностей. Являясь ведущей платформой контейнеризации в отрасли, Docker оптимизирует рабочие процессы и повышает масштабируемость современной разработки приложений.
В этом руководстве мы расскажем, как установить Docker на Ubuntu Server и запустить первое контейнеризированное приложение. Независимо от того, новичок вы в Docker или хотите оптимизировать процесс развёртывания, это руководство поможет вам начать работу с контейнеризацией на Ubuntu Server.
Предыдущие статьи:
01. Введение в Ubuntu Server – SysOSX: AI & Cloud
02. Как настроить первый сервер Ubuntu: руководство для начинающих – SysOSX: AI & Cloud
03. Освоение командной строки Linux для Ubuntu Server – SysOSX: AI & Cloud
05. Основы сетей для Ubuntu Server: полное руководство – SysOSX: AI & Cloud
07.Установка исправлений и обновление Ubuntu Server: полное руководство – SysOSX: AI & Cloud
08. Защита сервера Ubuntu: практические шаги по усилению защиты – SysOSX: AI & Cloud
09. Аудит и ведение журналов сервера Ubuntu
10. Инструменты мониторинга системы для Ubuntu Server: полное руководство – SysOSX: AI & Cloud
12. Аудит и соответствие требованиям для Ubuntu Server: рекомендации – SysOSX: AI & Cloud
13. Настройка сервера Ubuntu для хостинга и веб-приложений: полное руководство – SysOSX: AI & Cloud
14. Размещение нескольких сайтов на одном сервере Ubuntu: полезные советы – SysOSX: AI & Cloud
15. Управление хранилищем и дисками на Ubuntu Server: простое руководство – SysOSX: AI & Cloud
17. Настройка защищённого сервера баз данных на Ubuntu: MySQL или MariaDB – SysOSX: AI & Cloud
18. Как настроить и использовать LVM на Ubuntu Server: полное руководство – SysOSX: AI & Cloud
19. Введение в виртуализацию с KVM: руководство для начинающих по Ubuntu Server – SysOSX: AI & Cloud
Содержание
Предварительные требования
Перед установкой Docker убедитесь, что ваш сервер Ubuntu соответствует следующим требованиям:
- Ubuntu 20.04 LTS или более поздняя версия (64-разрядная версия).
- привилегии sudo или root-доступ.
- Стабильное подключение к интернету для скачивания пакетов.
Шаг 1. Установка Docker на Ubuntu Server
Обновление системных пакетов
sudo apt update && sudo apt upgrade -y
Установка необходимых зависимостей
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
Добавление официального ключа GPG Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Настройка репозитория Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Установка Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
Проверка установки
sudo docker run hello-world
В случае успеха вы увидите подтверждающее сообщение как показано ниже.

Шаг 2. Управление Docker без прав root
По умолчанию для работы Docker требуются привилегии sudo . Чтобы каждый раз не вводить sudo :
- Создание группы Docker (если не существует):
sudo groupadd docker - Добавление пользователя в группу:
sudo usermod -aG docker $USER - Применение изменений:
newgrp docker
Шаг 3. Запуск первого контейнера
Запустите веб-сервер Nginx за считанные секунды:
docker run -d -p 8080:80 --name my-nginx nginx
-d: Запуск в фоновом режиме.-p 8080:80: Сопоставить порт 8080 хоста с портом 80 контейнера.--name: Назначить контейнеру собственное имя.
Проверка доступа:
curl http://localhost:8080

Шаг 4. Основные команды Docker
| Команда | Описание |
|---|---|
docker ps | Список запущенных контейнеров |
docker images | Просмотр скачанных образов |
docker stop <container-id> | Остановка контейнера |
docker rm <container-id> | Удаление контейнера |
docker rmi <image-id> | Удаление образа |
Шаг 5. Автоматизация рабочих процессов с помощью Docker Compose
Для приложений с несколькими контейнерами используйте Docker Compose:
- Установка Docker Compose:
sudo apt install docker-compose -y
- Создайте
docker-compose.ymlфайл:
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
- Запуск стека:
docker-compose up -d

Рекомендации по использованию Docker на Ubuntu
- Регулярно обновляйте Docker:
sudo apt update && sudo apt upgrade docker-ce -y
- Очистка неиспользуемых ресурсов:
docker system prune -a
- Используйте официальные образы из Docker Hub для безопасности и надёжности.
Устранение распространённых проблем
- Доступ запрещён: Убедитесь, что ваш пользователь входит в
dockerгруппу. - Конфликты портов: Проверьте, не используют ли другие службы тот же порт.
- Ошибки загрузки образов: Проверьте подключение к интернету и правильность написания имени образа.
Docker и другие инструменты контейнеризации
Хотя Docker доминирует в области контейнеризации, понимание альтернатив помогает выбрать подходящий инструмент для вашего сценария:
| Инструмент | Тип | Ключевые функции | Лучше всего подходит для |
|---|---|---|---|
| Docker | Контейнеры приложений | – Акцент на переносимую, ориентированную на приложения упаковку<br>- Огромная экосистема (Docker Hub)<br>- Простые CLI и Compose | Разработчики, микросервисы, процессы CI/CD |
| LXD | Системные контейнеры | – Полноценные среды ОС (как лёгкие виртуальные машины)<br>- Тесная интеграция с LXC/Linux<br>- Продвинутое управление ресурсами | Инфраструктура как услуга, замена гипервизора |
| Podman | Контейнеры приложений | – Архитектура без демона<br>- По умолчанию без прав root<br>- Совместимый с Docker CLI | Нагрузки с упором на безопасность, периферийные вычисления |
| containerd | Среда выполнения контейнеров | – Низкоуровневая среда выполнения (используется Docker/Kubernetes)<br>- Минималистичный дизайн<br>- Акцент на масштабируемость | Кластеры Kubernetes, крупномасштабные развёртывания |
| CRI-O | Среда выполнения Kubernetes | – Оптимизирована для CRI Kubernetes<br>- Лёгкая и безопасная<br>- Поддержка Red Hat | Кластеры OpenShift/OKD, Kubernetes-нативные операции |
Почему Docker по-прежнему лидирует
- Удобен для новичков: Упрощённый рабочий процесс для разработки и тестирования приложений.
- Переносимость: Контейнеры работают одинаково в macOS, Windows и Linux.
- Поддержка сообщества: Более 8 миллионов образов Docker Hub и обширная документация.
Когда стоит рассмотреть альтернативы
- LXD: Нужна полная изоляция ОС (например, размещение нескольких служб с отдельными пользователями).
- Podman: Приоритет — безопасность (например, нагрузки государственных или медицинских учреждений).
- containerd/CRI-O: Создание Kubernetes-нативной инфраструктуры.
Заключение
Следуя этому руководству, вы установили Docker на Ubuntu Server и развернули первое контейнеризированное приложение. Гибкость Docker делает его незаменимым для DevOps, облачной разработки и гибридных сред. Изучите расширенные функции, такие как Docker Swarm или интеграцию с Kubernetes для масштабирования контейнерных нагрузок.
Справочные материалы: Официальная документация Docker
Что дальше? Приготовьтесь изучать LXD для контейнеров Linux
Теперь, когда вы освоили Docker для контейнеризации приложений, давайте глубже погрузимся в мир системных контейнеров Linux! Следите за новостями — скоро выйдет наше руководство:
2 thoughts on “20. How to Install Docker on Ubuntu Server: A Step-by-Step Guide to Containerization”