Гид по технологиям

Установка и использование Docker Desktop на Linux

10 min read Контейнеры Обновлено 05 Dec 2025
Docker Desktop на Linux: установка и настройка
Docker Desktop на Linux: установка и настройка

Ключевые термины

  • Docker Desktop — графическая и интегрированная среда разработки контейнеров, применяющая виртуальную машину для запуска Linux-контейнеров.
  • Docker Engine — демон и система запуска контейнеров как сервис на хосте.
  • KVM — аппаратная виртуализация для Linux.
  • Kubectl — CLI для управления Kubernetes-кластером.

Быстрый план статьи

  • Системные требования и подготовка
  • Установка и добавление репозитория Docker
  • Первичный запуск и проверка CLI
  • Включение Kubernetes и базовые команды
  • Отличия Docker Desktop и Docker Engine
  • Настройка Docker Engine в Desktop и лимитов ресурсов
  • Проверка, отладка и типичные проблемы
  • Ролевые чек-листы, миграция и безопасность
  • Вывод и краткое руководство по проверкам

Подготовка к запуску Docker Desktop

Руководство тестировалось на чистой Ubuntu 22.04. Docker Desktop на Linux также поддерживается на Ubuntu 21.10, Debian 11 и Fedora 35/36. Для других дистрибутивов смотрите официальную документацию Docker.

Минимальные требования и рекомендация:

  • 64‑битная система с аппаратной виртуализацией KVM.
  • Минимум 4 ГБ оперативной памяти; для комфортной разработки рекомендую 8 ГБ и больше.
  • Включённая виртуализация в BIOS/UEFI.

Проверка поддержки KVM

KVM часто автоматически доступен. Проверьте командой:

$ kvm-ok

Ожидаемый вывод:

INFO: /dev/kvm exists

KVM acceleration can be used

Если вы видите сообщение об ошибке, включите виртуализацию в BIOS/UEFI. Можно попытаться вручную загрузить модули KVM:

# 1/2

$ sudo modprobe kvm

$ sudo modprobe kvm_intel

$ sudo modprobe kvm_amd

Важно: Docker Desktop не предназначен для одновременной работы с локальным Docker Engine. Перед установкой остановите сервис Docker Engine, чтобы избежать конфликтов ресурсов и портов:

$ sudo service docker stop

Важно: сохраните нужные образы и контейнеры, если планируете вернуть Engine позже.

Установка Docker Desktop

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

Пример скачивания для amd64:

$ wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.12.0-amd64.deb

Пакет Desktop зависит от компонентов из репозитория Docker. Даже если сама Desktop будет установлена локально, репозиторий нужен для разрешения зависимостей. Добавьте официальный репозиторий Docker в систему:

$ sudo apt update
$ sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
$ sudo mkdir -p /etc/apt/keyrings

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

$ sudo apt update

Теперь установите пакет Desktop локально через apt, чтобы зависимости были разрешены автоматически:

$ sudo apt install -y ./docker-desktop-4.12.0-amd64.deb

После установки Docker Desktop должен появиться в списке приложений вашей среды рабочего стола.

Important: если менеджер пакетов сообщает конфликты, внимательно прочитайте список конфликтующих пакетов. Часто достаточно остановить или удалить старые пакеты Docker, настроить репозиторий и повторить установку.

Первый запуск и проверка CLI

Запустите Docker Desktop через лаунчер приложений. В системном трее появится иконка Docker (кит). Нажатие откроет меню трея.

Логотип Docker на экране

При первом запуске десктоп может инициализироваться несколько минут. Когда все готово, в трее появится сообщение «Docker Desktop is running» и вы сможете открыть Dashboard.

Скриншот меню в трее Docker Desktop на Ubuntu

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

Проверьте CLI:

$ docker version

Ожидаемый примерный вывод:

Client: Docker Engine - Community

Cloud integration: v1.0.29

Version: 20.10.18

$ docker compose version

Docker Compose version v2.10.2

Запустите учебный контейнер, чтобы убедиться, что всё работает:

$ docker run -d -p 80:80 docker/getting-started

Через интерфейс Docker Desktop в разделе Containers появится ваш контейнер. Нажатие на «три точки» справа от записи откроет список действий: открыть терминал в контейнере, просмотреть публикуемые порты и т. п.

Скриншот интерфейса контейнеров Docker Desktop

Вкладка Images покажет образы на хосте и даст быстрые действия по очистке, запуску или пушу образов.

Скриншот изображений в интерфейсе Docker Desktop

Добавочные возможности Desktop включают интеграцию с Docker Hub, автоматизированные Dev Environments и плагины.

Включение Kubernetes

Docker Desktop имеет встроенную поддержку Kubernetes, но она отключена по умолчанию. Чтобы включить кластер:

  1. Нажмите значок шестерёнки в заголовке приложения, откройте настройки.
  2. Выберите раздел Kubernetes.
  3. Установите флажок Enable Kubernetes и нажмите Apply & Restart.

Скриншот настроек Kubernetes в Docker Desktop

Скачивание компонентов и создание локального кластера могут занять несколько минут. Значок статуса Kubernetes в приложении и в трее станет зелёным, когда кластер готов.

Установка kubectl на Ubuntu через snap:

$ sudo snap install kubectl

Проверка состояния нод:

$ kubectl get nodes

Пример вывода:

NAME STATUS ROLES AGE VERSION

docker-desktop Ready control-plane 22m v1.25.0

Создадим Pod и откроем его через сервис NodePort:

$ kubectl run nginx --image nginx:latest

pod/nginx created

$ kubectl expose pod/nginx --port 80 --type NodePort

service/nginx exposed

$ kubectl get services

Ожидаемый вывод:

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

kubernetes ClusterIP 10.96.0.1 443/TCP 23m

nginx NodePort 10.96.132.212 80:30107/TCP 75s

Порт 30107 можно использовать локально:

$ curl http://localhost:30107

Вы должны получить HTML-ответ от NGINX.

Note: Kubernetes в Desktop хорош для разработки и локальной отладки. Для production-окружений используйте управляемые кластеры или специализированные решения вроде MicroK8s, k0s или Minikube в зависимости от требований.

Docker Desktop vs Docker Engine

Ключевые различия:

  • Docker Engine работает как системный сервис и запускает контейнеры как процессы на хосте.
  • Docker Desktop запускает контейнеры внутри QEMU‑виртуальной машины. Это приводит к большей предсказуемости окружения, но увеличивает потребление ресурсов.

Практические последствия:

  • Производительность: Engine в большинстве случаев быстрее и «легковеснее» на Linux, особенно на серверах.
  • Совместимость: Desktop обеспечивает одинаковое поведение на Windows/macOS/Linux, полезно в межплатформенных командах.
  • Kubernetes: Desktop предоставляет встроенный кластер без установки сторонних инструментов.

Рекомендации:

  • Локальная разработка и тестирование, быстрый доступ к GUI, интеграция Dev Environments — выбирайте Docker Desktop.
  • Серверы и production — Docker Engine или оркестрация Kubernetes без лишней виртуализации.

Пример: даже в простом состоянии VM Docker Desktop может потреблять ≈2 ГБ оперативной памяти. Docker Engine в том же состоянии практически не использует RAM.

Настройка Docker Engine в Desktop

Вы можете редактировать конфигурацию Docker daemon, используемую Desktop, через настройки:

  1. Откройте настройки -> Docker Engine.
  2. В поле JSON введите конфигурационные параметры и нажмите Apply & Restart.

Пример: добавить insecure registry или изменить логирование:

{ “insecure-registries”: [“registry.local:5000”], “log-level”: “warn” }

После применения Desktop перезапустит внутренний daemon.

Настройка лимитов ресурсов

По умолчанию Docker Desktop ограничивает ресурсы VM: половина ядер CPU, 25% RAM системы и swap 1 ГБ. Эти значения можно изменить в настройках -> Resources.

Скриншот настроек потребления ресурсов в Docker Desktop

Рекомендации по назначению ресурсов:

  • Для лёгкой разработки: 2 ядра, 4 ГБ RAM.
  • Для работы с Kubernetes и несколькими сервисами: 4+ ядер и 8+ ГБ RAM.
  • Для CI локально или при запуске нескольких контейнеров со сборками: выделяйте больше CPU и RAM.

Всегда нажимайте Apply & Restart после изменения ресурсов.

Типичные проблемы и отладка

  1. Проблема: Docker Desktop не запускается, и в трее нет иконки.

    • Проверка: запустите из терминала, чтобы увидеть логи: docker-desktop (GUI) запускается как пользовательское приложение; просмотрите ~/.docker/desktop/log/.
    • Решение: перезапустите компьютер, проверьте, нет ли блокировки KVM.
  2. Проблема: конфликт портов с локальным демоном Docker Engine.

    • Решение: остановите и отключите systemd‑сервис docker, затем запустите Desktop.
  3. Проблема: медленная работа контейнеров.

    • Причина: недостаточно выделенных ресурсов VM или медленный виртуальный диск.
    • Решение: увеличьте CPU/RAM, увеличьте размер виртуального диска в Resources.
  4. Проблема: kubectl не видит кластер.

    • Проверка: kubectl config view и kubectl get nodes.
    • Решение: убедитесь, что контекст kubectl указывает на docker-desktop; перезапустите Desktop.
  5. Проблема: образы не видны между Engine и Desktop.

    • Причина: разные runtime/daemon.
    • Решение: используйте один инструмент (либо Engine, либо Desktop) или пушьте образы в реестр и подтягивайте.

Краткое руководство по логам и их местоположению:

  • Desktop logs: ~/.docker/desktop/log/ и ~/.config/docker/desktop/
  • VM logs и диагностика доступны через меню Troubleshoot -> Get support diagnostics.

Ролевые чек-листы перед установкой и при вводе в эксплуатацию

Разработчик:

  • Провел бэкап локальных образов и данных.
  • Остановил systemd‑сервис docker.
  • Проверил доступность KVM.
  • Выделил достаточный объём RAM и CPU в Resources.
  • Убедился, что kubectl настроен на docker-desktop.

Инженер DevOps:

  • Оценил влияние Desktop на CI/CD агент.
  • Настроил приватные реестры в Docker Engine конфигурации Desktop.
  • Проверил политики безопасности и firewall.

Системный администратор:

  • Подтвердил совместимость с корпоративной политикой безопасности.
  • Проверил доступ к обновлениям и политике репозитория пакетов.

Playbook развертывания на рабочей станции разработчика

  1. Отключить локальный Docker Engine: sudo systemctl stop docker && sudo systemctl disable docker
  2. Проверить KVM: kvm-ok
  3. Скачать пакет Desktop и добавить репозиторий Docker
  4. Установить пакет: sudo apt install -y ./docker-desktop-.deb
  5. Запустить Desktop, принять условия, логин в Docker Hub при необходимости
  6. Настроить ресурсы и, при необходимости, включить Kubernetes
  7. Проверить docker version и docker compose version
  8. Выполнить smoke-test: docker run -d -p 80:80 docker/getting-started

Критерии приёмки

  • Docker Desktop запускается и показывает статус “Docker Desktop is running”.
  • docker и docker compose доступны в терминале.
  • Минимум один контейнер успешно запускается и доступен по указанному порту.
  • При включённом Kubernetes kubectl get nodes показывает node со статусом Ready.

Тестовые сценарии и приёмочные критерии

  • Тест 1: Установка пакета завершается без ошибок, и GUI запускается.
  • Тест 2: docker run отображает контейнер в UI в течение 60 секунд.
  • Тест 3: Включение/отключение Kubernetes переключает контекст kubectl на docker-desktop.
  • Критерии успешности: все тесты проходят, ошибки логируются и исправляются.

Безопасность и рекомендации по жёсткой настройке

  • Ограничьте доступ к Docker Desktop через системные права — не дайте групповому доступу к сокету Docker, если он проброшен.
  • Убедитесь, что критичные реестры используют TLS и аутентификацию.
  • При необходимости отключите интеграцию с Docker Hub и настройте приватный реестр.
  • Обновляйте Desktop и базовые образы регулярно.

Конфиденциальность и заметки по локальному законодательству

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

Миграция и совместимость

  • Образы, созданные в Docker Desktop, можно пушить в реестр и затем подтянуть на сервер с Docker Engine.
  • Не рассчитывайте на прозрачную совместимость сокета Docker между Engine и Desktop; лучше использовать реестр для обмена изображениями.
  • Если нужен лёгкий локальный Kubernetes без виртуализации Desktop: рассмотрите MicroK8s или k3s.

Совместимость и заметки по версиям:

  • Desktop использует собственную виртуальную среду и может содержать иную версию docker daemon, чем системный Docker Engine.
  • Проверяйте версии CLI/daemon при отладке проблем совместимости.

Decision tree для выбора между Docker Desktop и Docker Engine

flowchart TD
    A[Нужно GUI и локальный Kubernetes?] -->|Да| B[Выберите Docker Desktop]
    A -->|Нет| C[Рабочая нагрузка на сервере?]
    C -->|Производительность важна| D[Выберите Docker Engine]
    C -->|Локальная разработка только| E[Рассмотрите Docker Engine или легковесные K8s]
    B --> F[Убедитесь в наличии KVM и выделите ресурсы]
    D --> G[Настройте systemd-сервисы и деплой]

Сравнительная таблица решений (вкратце)

  • Docker Desktop: GUI, встроенный Kubernetes, разработческая среда, виртуальная машина, средний уровень потребления ресурсов.
  • Docker Engine: легковесный, лучший для production, системный демон, не имеет GUI или встроенного K8s.
  • MicroK8s/Minikube: альтернативы для локального K8s без полной интеграции Desktop.

Типичные ошибки и когда Desktop не подойдёт

Когда Desktop не подходит:

  • На сервере с ограниченными ресурсами (VM/containers должны быть максимально лёгкими).
  • Там, где запрещена локальная виртуализация или нестандартное программное обеспечение.
  • Если требуется высокая производительность ввода/вывода диска.

Контрпримеры использования:

  • CI/CD агенты обычно лучше работают с Docker Engine.
  • Легковесные контейнерные среды на production-серверах — Docker Engine.

Краткая сводка перед завершением

Docker Desktop для Linux — это удобный инструмент для разработчиков, который помогает унифицировать рабочую среду между платформами. Он особенно полезен, если вы хотите удобный GUI и встроенный Kubernetes без установки дополнительных инструментов. Однако для production‑серверов и сценариев с высокими требованиями по производительности предпочтительнее Docker Engine.

Summary:

  • Убедитесь, что KVM доступен и Docker Engine остановлён перед установкой.
  • Настройте ресурсы VM под свои задачи — CPU и RAM критичны для работы K8s.
  • Используйте Docker Desktop для разработки и отладки; для production используйте Docker Engine или управляющий Kubernetes.

Important: всегда создавайте резервные копии важных данных и образов перед изменением сервисов контейнеров.

1‑строчная глоссарий

  • Docker Desktop — интегрированная среда разработки контейнеров с GUI и встроенным Kubernetes.
  • Docker Engine — демон запуска контейнеров на хосте.
  • KVM — модуль ядра для аппаратной виртуализации в Linux.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Очистить данные использования в Windows 10
Windows 10

Очистить данные использования в Windows 10

MediaTomb: DLNA‑сервер на Linux — установка и настройка
Linux

MediaTomb: DLNA‑сервер на Linux — установка и настройка

Как исправить ERR_NETWORK_ACCESS_DENIED
Техподдержка

Как исправить ERR_NETWORK_ACCESS_DENIED

Режим невидимости на Mac — как включить
macOS

Режим невидимости на Mac — как включить

Emby на Linux — установка и настройка
Медиа серверы

Emby на Linux — установка и настройка

Как улучшить распознавание Siri на iPhone
iPhone

Как улучшить распознавание Siri на iPhone