Docker для начинающих: установка на Ubuntu и Windows, основные команды и ошибки

Что такое Docker простыми словами, установка на Ubuntu и Docker Desktop на Windows, основные команды и частые ошибки — с примерами с нашего домашнего сервера.

Docker — программа, которая запускает приложения в контейнерах: каждое со своими библиотеками и настройками, изолированно от системы и друг от друга. Установили одной командой — сервис работает, удалили — в системе ничего не осталось. В этой статье для начинающих разберём, что такое контейнер и образ, как выполнить установку Docker на Ubuntu и Windows (Docker Desktop), какие команды нужны каждый день и какие ошибки встречаются чаще всего. Примеры — с нашего домашнего сервера, где в Docker сейчас работает 15 контейнеров.

Docker для начинающих: образ, контейнер, установка и основные команды
Образ, контейнер и пять команд, с которых начинается Docker

Что такое Docker простыми словами

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

Три слова, которые нужно знать:

  • Образ (image) — шаблон, та самая упакованная коробка. Образы лежат в каталоге Docker Hub и в других реестрах, их скачивают командой docker pull.
  • Контейнер (container) — запущенный экземпляр образа. Из одного образа можно запустить сколько угодно контейнеров.
  • Том (volume) — папка с данными, которая живёт отдельно от контейнера. Контейнер можно удалить и пересоздать, а данные останутся.

Чем контейнер отличается от виртуальной машины: виртуальная машина везёт с собой целую операционную систему, а контейнеры используют ядро основной системы. Поэтому они запускаются за секунды и почти не тратят лишней памяти.

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

Официальная документация поддерживает Ubuntu 22.04, 24.04, 26.04 и 26.10 (64-битные). Есть два способа.

Быстрый — скрипт от Docker. Подходит для домашнего сервера и экспериментов; в документации он помечен как вариант для разработки и тестов, а не для промышленных серверов:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Через репозиторий apt — как рекомендует документация для постоянной работы: добавить ключ и репозиторий Docker, затем поставить пакеты:

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

Пакет docker-compose-plugin сразу ставит Docker Compose — им удобно запускать несколько связанных контейнеров одним файлом.

Проверка, что всё работает:

sudo docker run hello-world

Так это выглядит у нас (Docker 29.8.0):

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
...
Hello from Docker!
This message shows that your installation appears to be working correctly.

Чтобы не писать sudo перед каждой командой, добавьте себя в группу docker и перезайдите в систему:

sudo usermod -aG docker $USER

Учтите: участник этой группы фактически получает права администратора на машине, поэтому добавляйте только себя.

Docker Desktop: установка на Windows

На Windows Docker работает через Docker Desktop — приложение с окном, которое поднимает Linux внутри подсистемы WSL 2. Требования по документации:

  • Windows 10 22H2 (сборка 19045) или Windows 11 23H2 (сборка 22631) и новее;
  • WSL версии 2.1.5 и выше, включённая функция WSL 2;
  • 64-битный процессор с поддержкой SLAT и 8 ГБ памяти;
  • виртуализация, включённая в BIOS или UEFI;
  • серверные Windows (2019, 2022) не поддерживаются.

Порядок простой: скачать установщик с сайта Docker, запустить, согласиться на WSL 2, перезагрузиться. После этого в терминале работают те же команды, что и на Linux.

Про лицензию: Docker Desktop бесплатен для личного использования, обучения, некоммерческих открытых проектов и небольших компаний — меньше 250 сотрудников и меньше 10 миллионов долларов годовой выручки. Остальным нужна платная подписка. Сам движок Docker на Linux ставится без этих ограничений.

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

КомандаЧто делает
docker pull nginxСкачать образ
docker run -d --name web -p 8080:80 nginxЗапустить контейнер в фоне, открыть порт 8080 на компьютере
docker psПоказать запущенные контейнеры (-a — все, включая остановленные)
docker logs -f webСмотреть журнал контейнера в реальном времени
docker exec -it web shЗайти внутрь контейнера и выполнить команду
docker stop web / docker start webОстановить и запустить снова
docker rm webУдалить контейнер
docker imagesСписок скачанных образов
docker system pruneУбрать остановленные контейнеры и неиспользуемые данные

Вот как выглядит docker ps на нашем домашнем сервере (часть строк, имена обезличены):

NAMES             IMAGE                                  STATUS
browser           lscr.io/linuxserver/chromium:latest    Up 6 days
nextcloud-app     nextcloud:apache                       Up 4 weeks
nextcloud-redis   redis:7-alpine                         Up 4 weeks

Обратите внимание на размеры образов: у нас nextcloud:apache занимает 1,47 ГБ, браузер Chromium — 3,28 ГБ, а маленький служебный alpine/socat — 15,8 МБ. Место на диске под образы стоит закладывать заранее.

Когда контейнеров больше одного, команды docker run с длинными параметрами неудобны — их заменяет файл docker-compose.yml. Как он устроен, подробно в статье «Docker Compose для начинающих».

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

  • Docker Desktop failed to start или virtualization support not detected — не включена виртуализация в BIOS (Intel VT-x или AMD-V/SVM) либо не установлен WSL 2. Включите виртуализацию, выполните в PowerShell от администратора wsl --install или wsl --update и перезагрузитесь.
  • permission denied while trying to connect to the Docker daemon socket — команда запущена без sudo, а пользователь не в группе docker. Добавьте его в группу, как показано выше, и перезайдите.
  • port is already allocated — порт на компьютере уже занят другой программой или контейнером. Выберите другой: -p 8081:80.
  • Данные пропали после пересоздания контейнера — они лежали внутри контейнера, а не в томе. Всё ценное храните в томах или подключённых папках (-v /путь/на/диске:/путь/в/контейнере).
  • Кончилось место — старые образы и остановленные контейнеры копятся. Помогает docker system prune, но перед этим проверьте, что ничего нужного не остановлено.

Что запустить первым

Docker раскрывается, когда на нём живут полезные сервисы. На нашем домашнем сервере в контейнерах работают фотоархив Immich, облако Nextcloud, мониторинг Uptime Kuma, база для графиков InfluxDB и браузеры для автоматизации — подробнее в статье «Домашний сервер: зачем нужен и что запустить». Хорошие кандидаты для первого раза: Home Assistant, Open WebUI с локальной нейросетью или Nginx Proxy Manager, чтобы открыть сервисы по красивым адресам.

Документация: обзор Docker, установка на Ubuntu, настройка после установки, Docker Desktop для Windows, лицензия Docker Desktop, справочник команд. Выводы команд сняты на нашем сервере 17 октября 2026 года. Проверено 17 октября 2026 года.

1 / 1
Оцените статью
Да будет Интернет!