Установка Docker в Ubuntu создает идеальную платформу для ваших проектов разработки, использующую облегченные виртуальные машины, совместно использующие ядро операционной системы Ubuntu.
Подготовка к установке Docker в Ubuntu
Вы можете установить последнюю версию Docker в версиях Ubuntu 18.04, 20.04, 21.10 и 22.04. Поддерживаются архитектуры x64_64 / AMD64, ARMhf, ARM64 и S390x.
Существует несколько способов установки Docker, и ваш выбор будет зависеть от необходимой вам функциональности и вашего предпочтительного подхода к управлению пакетами.
Выбор варианта Docker
Docker в Linux традиционно был доступен только для терминала. Работающая установка включает в себя Docker Engine, демон, который запускает ваши контейнеры, и docker интерфейс командной строки (CLI) для взаимодействия с демоном.
Docker Desktop - это альтернативный способ использования Docker. Исторически он был доступен только на Windows и Mac, а для Linux был запущен в мае 2022 года. Для установки Docker Desktop в Ubuntu требуется процессор AMD64 и либо Ubuntu 21.10, либо 22.04. Он предоставляет графический интерфейс для управления вашими контейнерами, интегрированный кластер Kubernetes и поддержку сторонних расширений. Docker Desktop также предоставляет вам docker и Docker Compose CLIS.
Docker Desktop отличается от Docker Engine тем, что он использует виртуальную машину для запуска ваших контейнеров (именно поэтому Docker Desktop необходим пользователям Windows и macOS). Хотя в Ubuntu возможно одновременное использование обоих вариантов, вы можете обнаружить конфликты между docker версиями CLI. Лучше выбрать одну и придерживаться ее. Выбирайте Docker Engine, если вам удобно работать с вашим терминалом и вам нужна наилучшая поддержка и производительность. Виртуальная машина Docker Desktop немного утяжеляет его, но это лучший выбор, если вам нужен интегрированный пользовательский интерфейс или вы планируете использовать Kubernetes.
Установка Docker Engine в Ubuntu
Docker Engine - это стандартный способ запуска Docker в Ubuntu. Он работает со всеми поддерживаемыми версиями и средами, от локального настольного компьютера Ubuntu до облачного хоста Ubuntu Server. Прежде чем продолжить, убедитесь, что вы используете версию Ubuntu 18.04 или новее.
Движок Docker Engine имеет 3 различных способа установки:
- Официальный репозиторий Ubuntu apt
- Автономный пакет Debian (.deb)
- Сценарий автоматической установки
Вариант 1 репозиторий apt Ubuntu, является наиболее часто используемым. Он добавляет Docker в список ваших пакетов, чтобы вы могли легко устанавливать будущие обновления, запустив apt upgrade.
Вариант 2 не поддерживает автоматические обновления, но идеально подходит для установки 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
Затем зарегистрируйте GPG-связку ключей Docker в 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 и сохраняет в каталоге keyring apt.
chmod используется для установки разрешений для файла keyring, чтобы 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: среда выполнения контейнера,которая запускает ваши контейнеры.
$ sudo apt install docker-ce docker-ce-cli containerd.io
2. Установка Docker с использованием пакета Debian
Официальный .deb пакет прост в настройке, но вам придется вручную загружать и устанавливать каждую новую версию. Пакеты размещаются на простом файловом сервере. Сначала перейдите на страницу заметок о выпуске Docker, чтобы найти последний доступный номер версии, например 24.0.7. Затем перейдите на страницу containerd на GitHub, чтобы также проверить номер его версии. Она будет выглядеть как 1.7.11.
Теперь вы можете выполнить следующую последовательность команд, чтобы загрузить нужный набор пакетов для вашей платформы. Замените <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
После загрузки пакетов 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 работает в 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: последний образ из Docker Hub и запустил контейнер, используя его. Все, начиная со строки “Привет от Docker" и далее, было отправлено процессом внутри контейнера.
Настройка разрешений Docker Engine в Ubuntu
Для новой установки Docker Engine обычно требуются права root для запуска docker команд CLI. Перед каждой командой нужно ставить префикс sudo, что неудобно.
Вы можете избежать этого требования, добавив себя в docker группу после установки Docker Engine, выполнив описанные выше действия. Это необязательное изменение дает вам разрешения на выполнение docker команд как обычному пользователю, без sudo, что упрощает работу с CLI.
Убедитесь, что docker группа пользователей существует:
$ sudo groupadd docker
Затем добавьте в него себя:
$ 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 CLI. Плагин 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 Desktop в Ubuntu
В то время как Docker Engine доступен только в командной строке, Docker Desktop предоставляет графический интерфейс управления, встроенную поддержку Kubernetes и дополнительные сторонние расширения, которые могут помочь упростить рабочие процессы с контейнерами. Это отличный выбор, если вы ищете простоту использования на своей рабочей станции.
Чтобы установить Docker Desktop, сначала установите некоторые зависимости с помощью apt:
$ sudo apt update
$ sudo apt install ca-certificates curl gnupg lsb-release
Затем выполните следующий набор команд, чтобы добавить apt репозиторий Docker. Хотя 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 каталоге keyring. chmod используется для установки разрешений для файла keyring, чтобы 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 большинство разработчиков начинают использовать контейнеры. Вы можете легко установить Docker в своей системе Ubuntu либо как Docker Engine, либо как новый Docker Desktop. После установки Docker у вас будет все необходимое для сборки и запуска контейнеров, что позволит упростить разработку .
USB4 по сравнению USB 3: В чем разница?
11 лучших дистрибутивов Linux на основе Debian
5 основных инструментов для запоминания команд Linux
6 Альтернатив LibreOffice для Linux
Как найти, где apt установил пакет в Debian и Ubuntu
Ставьте лайк .Смотрите другие наши статьи,подписывайтесь на канал чтобы не пропустить интересное.