20. Как установить Docker на Ubuntu Server: пошаговое руководство по контейнеризации

Контейнеризация преобразила развёртывание приложений, упаковывая программное обеспечение в изолированные, лёгкие среды, которые обеспечивают согласованность в разных системах. 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

04. Управление пользователями и разрешениями на Ubuntu Server: полное руководство – SysOSX: AI & Cloud

05. Основы сетей для Ubuntu Server: полное руководство – SysOSX: AI & Cloud

06. Установка и управление программным обеспечением на Ubuntu Server: полное руководство – SysOSX: AI & Cloud

07.Установка исправлений и обновление Ubuntu Server: полное руководство – SysOSX: AI & Cloud

08. Защита сервера Ubuntu: практические шаги по усилению защиты – SysOSX: AI & Cloud

09. Аудит и ведение журналов сервера Ubuntu

10. Инструменты мониторинга системы для Ubuntu Server: полное руководство – SysOSX: AI & Cloud

11. Централизованное ведение журналов для сервера Ubuntu: обязательное руководство – 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

16. Настройка служб общего доступа к файлам на 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 :

  1. Создание группы Docker (если не существует): sudo groupadd docker
  2. Добавление пользователя в группу: sudo usermod -aG docker $USER
  3. Применение изменений: 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! Следите за новостями — скоро выйдет наше руководство:

“Введение в LXD для контейнеров Linux: лёгкая виртуализация простыми словами“

2 thoughts on “20. How to Install Docker on Ubuntu Server: A Step-by-Step Guide to Containerization”

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