Как установить Docker в Ubuntu 20.04

Как установить Docker в Ubuntu 20.04

OS: Ubuntu 20.04

В принципе ничего экстраординарного в установке docker нет, и процесс полностью описан в официальной документации. Тем не менее, рассмотрим каждый шаг.

Удаление старых версий

Старые версии Docker назывались docker, docker.io или docker-engine. Если они установлены, удалите их:

$ sudo apt-get remove docker docker-engine docker.io containerd runc

 

Ничего страшного, если apt-get сообщает, что ни один из этих пакетов не установлен. Содержимое /var/lib/docker/, включая образы, контейнеры, тома и сети, сохраняется. Если вам не нужно сохранять существующие данные и вы хотите начать с чистой установки, выполните следующие шаги:

1. Удалите пакеты Docker Engine, CLI и Containerd:

$ sudo apt-get purge docker-ce docker-ce-cli containerd.io

 

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

$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd

 

Также вы должны удалить все отредактированные файлы конфигурации вручную.

 

Установка docker с ипользованием репозитория

В зависимости от ваших потребностей возможны разные варианты установки Docker Engine. Большинство пользователей используют рекомендуемый подход - установка из репозитория, поэтому мы также воспользуемся им.

Обновите индекс пакетов apt и установите пакеты, чтобы позволить использовать репозиторий через HTTPS:

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

 

Добавьте официальный ключ GPG докера:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

 

Используйте следующую команду для настройки стабильного репозитория:

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

 

Обновите индекс пакета apt и установите последнюю версию Docker Engine и containerd:

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

 

Убедитесь, что Docker Engine установлен правильно, запустив образ hello-world:

$ 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:
 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.

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/

 

Управляйте Docker как пользователь без полномочий root

Docker Engine установлен и запущен. Но сейчас вам нужно использовать sudo для запуска команд. Если вы не хотите, чтобы команда docker начиналась с sudo, создайте группу под названием docker и добавьте в нее пользователей. Чтобы создать группу docker и добавить своего пользователя:

$ sudo groupadd docker

 

Добавьте своего пользователя в группу:

$ sudo usermod -aG docker $USER

 

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

$ newgrp docker

 

Настройка Docker для запуска при загрузке

В Ubuntu служба Docker по умолчанию настроена на запуск при загрузке. Если по каким-то причинам этого не происходит, используйте следующие команды:

$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service

 

Чтобы отключить это поведение, используйте disable:

$ sudo systemctl disable docker.service
$ sudo systemctl disable containerd.service

Установка Docker Compose

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

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Примечание: чтобы установить другую версию Compose, замените 1.29.2 версией Compose, которую вы хотите использовать.

Примените разрешения для исполняемого файла к двоичному файлу:

$ sudo chmod +x /usr/local/bin/docker-compose

 

Проверьте, корректно ли прошла установка:

$ docker-compose --version

 

На выходе должны получить версию и билд, например:

docker-compose version 1.29.2, build 5becea4c

 

На этом на сегодня всё. Успехов!