Установка Docker на Ubuntu (4 простых способа)

Опубликовано: 2022-12-05

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

Установка Docker на Ubuntu создает идеальную платформу для ваших проектов разработки, используя легкие виртуальные машины, которые используют ядро ​​операционной системы Ubuntu. Этот учебник поможет вам начать работу, объяснив 4 способа сделать это.


Подробнее о докере

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

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

Подготовка к установке Docker на Ubuntu

Вы можете установить последнюю версию Docker на версии Ubuntu 18.04, 20.04, 21.10 и 22.04. Поддерживаются архитектуры x64_64/AMD64, ARMhf, ARM64 и S390x.

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

Ищете идеальную платформу для своего следующего большого приложения? Решением может быть Docker... Узнайте, как установить его, из этого руководства Click to Tweet

Выбор варианта Docker

Docker в Linux традиционно был предназначен только для терминала. Функционирующая установка включает Docker Engine, демон, который запускает ваши контейнеры, и интерфейс командной строки (CLI) docker для взаимодействия с демоном.

Docker Desktop — это альтернативный способ использования Docker. Исторически доступный только для Windows и Mac, он был запущен для Linux в мае 2022 года. Для Docker Desktop в Ubuntu требуется процессор AMD64 и Ubuntu 21.10 или 22.04. Он предоставляет графический интерфейс для управления вашими контейнерами, интегрированный кластер Kubernetes и поддержку сторонних расширений. Docker Desktop также предоставляет интерфейсы командной строки docker и Docker Compose.

Docker Desktop отличается от Docker Engine тем, что использует виртуальную машину для запуска ваших контейнеров (именно поэтому Docker Desktop требуется для пользователей Windows и MacOS). Хотя в Ubuntu можно использовать оба варианта одновременно, вы можете столкнуться с конфликтами между версиями интерфейса командной строки docker . Лучше выбрать один и придерживаться его. Выберите Docker Engine, если вам удобно работать в терминале и вам нужна наилучшая поддержка и производительность. Виртуальная машина Docker Desktop немного утяжеляет ее, но это лучший выбор, если вам нужен интегрированный пользовательский интерфейс или вы планируете использовать Kubernetes.

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

Docker Engine — это стандартный способ запуска Docker в Ubuntu. Он работает со всеми поддерживаемыми версиями и средами, от локального компьютера Ubuntu Desktop до вашего облачного хоста Ubuntu Server. Прежде чем продолжить, убедитесь, что вы используете версию Ubuntu 18.04 или новее.

Docker Engine имеет 3 различных метода установки:

  1. Официальный apt Ubuntu
  2. Отдельный пакет Debian ( .deb )
  3. Сценарий автоматической установки

Вариант 1, репозиторий Ubuntu apt , используется чаще всего. Он добавляет Docker в список пакетов, чтобы вы могли легко устанавливать будущие обновления, запустив apt upgrade . Вариант 2 не поддерживает автоматические обновления, но идеально подходит для установки Docker в изолированных автономных системах. Сценарий автоматической установки — это самый простой способ начать работу, но он настроен только для использования в целях разработки. Docker не рекомендует использовать его в производственных средах.

Используйте репозиторий apt , когда вы работаете с производственной системой, хотите легко обновлять или вам нужно использовать один и тот же механизм во всех средах.

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

1. Установка Docker с помощью репозитория apt

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

Начните с обновления существующего списка пакетов и установки некоторых зависимостей для следующих шагов. Инструменты ca-certificates , curl , gnupg и lsb_release будут использоваться для загрузки правильных сведений о репозитории Docker apt и ключа подписи для вашей системы. Хотя вы, вероятно, уже получили эти пакеты, не помешает убедиться, что они доступны.

 $ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release

Затем зарегистрируйте связку ключей Docker GPG с помощью apt. Это позволит apt проверять устанавливаемые вами пакеты Docker.

 $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /etc/apt/keyrings/docker.gpg

Команда curl загружает ключ GPG Docker для Ubuntu, преобразует его обратно в стандартную кодировку OpenGPG и сохраняет в каталоге набора ключей apt. chmod используется для установки разрешений на файл набора ключей, чтобы apt надежно его обнаруживал.

Теперь вы можете добавить исходный код пакета Docker в свою систему. Выполните следующую команду:

 $ 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

При этом используется замена оболочки для автоматического определения архитектуры вашей системы, такой как AMD64 или ARM64, и загрузки соответствующего списка пакетов. Он будет проверен с помощью добавленного ранее ключа GPG. Репозиторий добавляется как новый список пакетов в apt /etc/apt/sources.list.d directory.

Снова обновите списки пакетов, чтобы apt знал о существовании пакетов Docker:

 $ sudo apt update

Теперь вы можете использовать команду apt install для добавления компонентов Docker в вашу систему. Вы будете устанавливать последнюю версию Docker Community Edition (CE). Есть три пакета для установки:

  • docker-ce : демон Docker Engine.
  • docker-ce-cli : интерфейс командной строки Docker, с которым вы будете взаимодействовать.
  • containerd.io : среда выполнения контейнера, известная как containerd, которая запускает и запускает ваши контейнеры.
 $ sudo apt install docker-ce docker-ce-cli containerd.io

2. Установка Docker с помощью пакета Debian

Официальный пакет .deb легко установить, но вам придется вручную загружать и устанавливать каждый новый выпуск. Пакеты размещаются на простом файловом сервере. Сначала перейдите на страницу примечаний к выпуску Docker, чтобы найти последний доступный номер версии, например 20.10.20. Затем перейдите на страницу containerd GitHub, чтобы также проверить номер его версии. Он будет выглядеть как 1.6.8.

Теперь вы можете выполнить следующую последовательность команд, чтобы загрузить правильный набор пакетов для вашей платформы. Замените <DOCKER_VERSION> и <CONTAINERD_VERSION> текущими номерами версий Docker и containerd соответственно.

 $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb

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

После загрузки пакетов Docker CE, CLI и containerd используйте следующую команду для их установки:

 $ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb

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

3. Установка Docker с помощью скрипта установки

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

Сначала скачайте скрипт:

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

Теперь запустите скрипт с правами root:

 $ sudo sh get-docker.sh Executing docker install script ...

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

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

Убедитесь, что Docker Engine работает на Ubuntu

Какой бы метод установки вы ни использовали, вы должны убедиться, что все работает, запустив контейнер:

 $ sudo docker run hello-world

Вы увидите, как клиент Docker загружает hello-world:image на ваш компьютер из репозитория Docker Hub:

 Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625 Status: Downloaded newer image for hello-world:latest

Новый контейнер запустится автоматически. Стартовый образ «hello-world» настроен на запуск простой команды, которая выводит некоторую базовую информацию о Docker, а затем немедленно завершает работу:

 Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

Вывод, показанный выше, означает, что Docker готов к использованию. Демон успешно извлек образ hello-world:latest из Docker Hub и запустил с его помощью контейнер. Все, начиная со строки «Hello from Docker» и далее, было создано процессом внутри контейнера.

Настройка разрешений Docker Engine в Ubuntu

Для новой установки Docker Engine обычно требуются привилегии root для запуска команд docker CLI. Вам нужно префикс каждой команды с sudo , что неудобно.

Вы можете избежать этого требования, добавив себя в группу docker после того, как вы установили Docker Engine, выполнив описанные выше шаги. Это необязательное изменение дает вам права запускать команды docker от имени обычного пользователя без sudo , что упрощает работу с интерфейсом командной строки.

Убедитесь, что группа пользователей docker существует:

 $ sudo groupadd docker

Затем добавьте себя к нему:

Боретесь с простоями и проблемами WordPress? Kinsta — это решение для хостинга, предназначенное для экономии вашего времени! Ознакомьтесь с нашими функциями
 $ sudo usermod -aG docker $USER

Если вы ранее запускали какую-либо команду docker с помощью sudo , вам необходимо исправить права доступа к вашему ~/.docker :

 $ sudo chown $USER:$USER /home/$USER/.docker -R $ sudo chmod g+rwx $HOME/.docker -R

Это гарантирует, что вашей собственной учетной записи пользователя разрешено читать и записывать файлы в каталоге.

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

 $ docker run hello-world

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

Добавление Docker Compose в вашу установку Ubuntu

Docker Compose — это популярный вспомогательный инструмент Docker, упрощающий работу с приложениями, использующими несколько контейнеров. В то время как docker CLI нацелен только на один контейнер с каждой командой, docker compose может запускать и останавливать несколько контейнеров с каждым действием. Это упрощает управление системами, в которых у вас есть отдельные службы внешнего интерфейса, серверной части и базы данных.

Docker Compose теперь доступен как часть интерфейса командной строки docker . Плагин Compose V2 включается, когда вы используете официальный сценарий установки для установки Docker. Он также доступен в apt , если вы использовали этот метод:

 $ sudo apt install docker-compose-plugin

Кроме того, вы можете скачать последний архив .deb и установить его вручную:

 $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb $ sudo apt install -i ./docker-compose-plugin.deb

Убедитесь, что Compose работает, выполнив команду docker compose version :

 $ docker compose version Docker Compose version v2.6.0

Установка рабочего стола Docker в Ubuntu

В то время как Docker Engine ограничен только интерфейсом командной строки, Docker Desktop предоставляет графический интерфейс управления, встроенную поддержку Kubernetes и дополнительные сторонние расширения, которые могут помочь упростить рабочие процессы контейнеров. Это отличный выбор, если вам нужна простота использования на собственной рабочей станции.

Чтобы установить Docker Desktop, сначала установите некоторые зависимости с помощью apt :

 $ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release

Затем выполните следующий набор команд, чтобы добавить репозиторий Docker apt . Хотя Docker Desktop не включен в репозиторий, пакеты в нем упоминаются как зависимости в архиве Debian Desktop.

 $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /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

Команда curl загружает ключ GPG Docker для Ubuntu, преобразует его обратно в стандартную кодировку OpenGPG и сохраняет в каталоге набора ключей apt . chmod используется для установки разрешений на файл набора ключей, чтобы apt надежно его обнаруживал.

Скачайте архив Docker Desktop Debian по ссылке в документации. Это обеспечит последнюю стабильную версию Docker Desktop для Linux. Используйте apt для установки пакета, подставив номер загруженной версии:

 $ sudo apt install ./docker-desktop-4.11.0-amd64.deb

Docker Desktop теперь будет отображаться в панели запуска приложений. Используйте программу запуска, чтобы запустить Docker Desktop и открыть пользовательский интерфейс. Вы также сможете запускать команды docker , docker compose и kubectl в своем терминале. Приложение также добавляет меню в область уведомлений, которое показывает текущее состояние рабочего стола Docker и позволяет выполнять некоторые быстрые действия.

Вам будет предложено принять соглашение об обслуживании при первом запуске Docker Desktop. Нажмите кнопку «Принять», если вы согласны, и подождите, пока Docker Desktop запустит свою виртуальную машину.

Через несколько секунд загрузится панель инструментов. Он предоставляет ярлыки для создания новых контейнеров из популярных образов, избегая длинных терминальных команд.

Скриншот рабочего стола Docker, работающего в Ubuntu.
Рабочий стол Docker установлен на Ubuntu.

DevKinsta: Рабочий стол Docker для WordPress

Специализированные решения, созданные на базе Docker, еще больше упрощают работу с конкретными технологиями. DevKinsta — это бесплатный локальный инструмент разработки для создания тем и плагинов WordPress, который использует Docker для полной изоляции и защиты ваших сайтов WordPress. Это позволяет быстро и просто запустить и настроить новый проект WordPress без самостоятельной настройки серверов. Когда вы будете готовы, вы можете напрямую перейти на платформу Kinsta, чтобы развернуть свой действующий сайт.

Вы можете установить DevKinsta на MacOS, Windows и Ubuntu.

Хотите упростить процесс разработки? Попробуйте Docker на Ubuntu для вашего следующего проекта! Вот как вы можете установить его ️ Нажмите, чтобы твитнуть

Резюме

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

Если вы разрабатываете темы и плагины для WordPress, DevKinsta может упростить создание локальной среды разработки и развертывание вашего сайта.