Docker – это открытая платформа для разработки, доставки и запуска приложений. Она позволяет упаковывать приложения и их зависимости в так называемые контейнеры. Контейнеры изолируют приложения от окружающей среды, что позволяет им работать одинаково независимо от конфигурации хост-системы.
Docker предоставляет множество преимуществ для разработчиков, системных администраторов и команд DevOps.
Для установки Docker вам потребуется 64-разрядная версия одной из следующих версий Ubuntu:
Это все версии Ubuntu, которые, согласно официальной документации, совместимы с Docker.
Docker для Ubuntu совместим с несколькими архитектурами процессоров, включая:
Docker не требует больших системных ресурсов, но для запуска контейнеров и выполнения приложений потребуется достаточно оперативной памяти, мощности процессора и дискового пространства.
Рекомендуется иметь как минимум 2 ГБ оперативной памяти.
Мы приглашаем вас воспользоваться специальными условиями для упрощённого перехода на обслуживание в RU-CENTER. Получите все преимущества за символическую стоимость:
Просто воспользуйтесь промокодом WELCOME и присоединяйтесь к RU-CENTER уже сегодня.
Перед установкой Docker необходимо убедиться, что вы удалили любые конфликтующие пакеты.
К примеру, это могут быть неофициальные версии пакетов Docker, которые разработчики дистрибутивов предоставляют через APT. Прежде чем установить официальную версию Docker, их необходимо удалить.
Неофициальными считаются следующие пакеты:
Кроме того, Docker зависит от контейнерных технологий «containerd» и «runc» и поставляется с этими зависимостями в одном пакете – «containerd.io».
Если вы ранее устанавливали пакеты «containerd» или «runc», их также следует удалить, чтобы избежать конфликтов с версиями, поставляемыми с Docker.
Выполните следующую команду для удаления всех конфликтующих пакетов:
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
В конце система apt-get сообщит, что ни одного из этих пакетов не установлено.
Важно! Образы, контейнеры, тома и сети, хранящиеся в /var/lib/docker/, не будут автоматически очищены при удалении Docker. Если вы хотите начать с «чистой» установки и предпочли бы удалить уже существующие данные, воспользуйтесь инструкцией в конце этой статьи.
Способ 1. Установка с помощью apt
Перед тем как впервые установить Docker на новом хостинге, вам нужно настроить репозиторий Docker. Затем вы сможете устанавливать и обновлять Docker из этого репозитория.
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /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 \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl status docker
При условии, что служба активна и корректно работает, вывод должен быть примерно следующим:
Output
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-04-01 21:30:25 UTC; 22s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 7854 (dockerd)
Tasks: 7
Memory: 38.3M
CPU: 340ms
CGroup: /system.slice/docker.service
└─7854 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Теперь вы успешно установили и запустили Docker.
Способ 2. Ручная установка
Если вы не можете использовать репозиторий apt для установки Docker, можете загрузить файл .deb для вашей версии ОС и установить его вручную.
Важно! Вам потребуется загружать новый файл каждый раз, когда вы хотите обновить Docker.
sudo dpkg -i ./containerd.io_<версия>_<архитектура>.deb \
./docker-ce_<версия>_<архитектура>.deb \
./docker-ce-cli_<версия>_<архитектура>.deb \
./docker-buildx-plugin_<версия>_<архитектура>.deb \
./docker-compose-plugin_<версия>_<архитектура>.deb
Демон Docker будет запущен автоматически.
sudo service docker start
sudo docker run hello-world
Эта команда загрузит тестовый образ и запустит его в контейнере. Когда контейнер успешно запустится, вы получите примерно следующее сообщение:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
The Docker client contacted the Docker daemon.
The Docker daemon pulled the "hello-world" image from the Docker Hub.
(arm64v8)
The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Способ 1. Установка с помощью apt-get
sudo apt-get update
sudo apt-get install docker-compose-plugin
docker compose version
Ответ отобразится в формате «v2.20.3», где вместо v2.20.3 будет указана последняя установленная версия Docker Compose.
Способ 2. Вручную
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
Эта команда загружает последний релиз Docker Compose (из репозитория релизов Compose) и устанавливает Compose для активного пользователя в директорию $HOME.
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
docker compose version
Версия Docker Compose будет отображена в формате «v2.20.3».
Способ 3. Установка с помощью git
sudo apt-get install git
git --version
Вы увидите примерно следующий вывод:
git version 2.20.3
git clone https://github.com/docker/compose.git
После выполнения этой команды начнётся процесс клонирования репозитория с GitHub.
Чтобы удалить пакеты Docker Engine, CLI, containerd и Docker Compose, выполните следующую команду:
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
Однако в таком случае все образы, контейнеры, тома или настроенные файлы конфигурации на вашем компьютере не будут автоматически удалены.
Чтобы удалить все образы, контейнеры и тома, примените:
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
Любые изменённые файлы конфигурации также нужно будет удалить вручную.
В этой статье мы рассмотрели процесс установки Docker и Docker Compose на Ubuntu 22.04. Теперь вы готовы начать работу с контейнеризацией и воспользоваться всеми преимуществами, которые предоставляет Docker.
Не забудьте, что на нашем сайте есть ещё больше информации об этой платформе. Ознакомьтесь со статьями «Краткий экскурс в Docker» и «Что такое Docker контейнер», где вы найдёте полезные советы и руководства для централизованного управления контейнерами.