Docker — это средство упаковки, доставки и развертывания приложений на клиентских *nix-системах. Пока Docker все еще не входит в стандартные репозитории Linux, поэтому одним из шагов будет добавление репозитория Docker в источники APT.
Docker устанавливается в несколько простых шагов:
- Сначала обновим существующий список пакетов
sudo apt update
- Установим несколько маленьких утилит, которые позволяют apt использовать пакеты через HTTPS
sudo apt install apt-transport-https ca-certificates curl software-properties-common
- Добавим GPG-ключ для официального репозитория Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- Добавим репозиторий Docker в источники APT
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
На этом этапе может возникнуть некритическая ошибка, связанная с недоступностью одного из репозиториев Docker: 404 Not Found [IP: 52.85.47.84 443». Не пугайтесь, это не отразится на целостности установки Docker.
- Обновим базу данных пакетов еще раз
sudo apt update
- Убедимся, что установка будет выполняться из репозитория Docker, а не из репозитория Ubuntu
apt-cache policy docker-ce
Команда должна вернуть вывод следующего вида
docker-ce: Installed: (none) Candidate: 5:20.10.12~3-0~ubuntu-focal Version table: 5:20.10.12~3-0~ubuntu-focal 500 500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
Обратите внимание, что docker-ce не установлен, но является кандидатом для установки.
- Установим Docker
sudo apt install docker-ce
- Проверим работоспособность демона Docker
sudo systemctl status docker
Команда должна вернуть отчет следующего вида
Если демон-процесс Docker автоматически не был запущен, выполните команду sudo service docker start и повторите sudo systemctl status docker.
- Запустим тестовый контейнер
sudo docker run hello-world
В ответ Docker вернёт следующие сообщение
На этом установка Docker закончена.
Если вы интересуетесь Docker и контейнеризацией в целом, вам могут быть интересны следующие материалы:
История контейнеризации
Краткая история контейнеризации и разбор конкретных технологий: chroot, jail, namespaces и cgroups.
Введение в Docker
Разбираемся в том, что такое Docker, из каких компонентов состоит и какие технологии контейнеризации использует.