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

Просмотры: 556
Категория: Администрирование
Создано: 17 февраля 2021
Тэги: Ubuntu Docker

Docker - очень популярная в настоящее время технология для запуска процессов в контейнерах. В таких контейнерах процессы работают с изолированными ресурсами. Контейнеры подобны виртуальным машинам, но более компактны. В этой статье я опишу процесс установки Docker на сервер под управлением Ubuntu 20.04. Вообще говоря, установить Docker можно из репозитория самой Ubuntu. Но там находится не самый свежий пакет. Мы же установим Docker из официального репозитория на docker.com. 

Прежде всего обновляем список пакетов на нашем сервере.


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

Добавляем сам репозиторий в источники APT:


$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Еще раз обновляем список пакетов.


$ sudo apt update

Проверяем, что пакет с Docker будет установлен из официального репозитория.


$ apt-cache policy docker-ce

Мы должны получить приблизительно такой вывод. Видно, что пакет Docker будет забираться с сервера download.docker.com


docker-ce:
  Installed: 5:20.10.3~3-0~ubuntu-focal
  Candidate: 5:20.10.3~3-0~ubuntu-focal
  Version table:
 *** 5:20.10.3~3-0~ubuntu-focal 500
        500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
        100 /var/lib/dpkg/status

Устанавливаем Docker в нашу систему.


$ sudo apt install docker-ce

Проверяем статус docker-демона.


$ sudo systemctl status docker

Должны получить приблизительно следующий вывод. Демон находится в состоянии active (running)


● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-02-17 17:56:09 UTC; 43min ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 5156 (dockerd)
      Tasks: 10
     Memory: 42.8M
     CGroup: /system.slice/docker.service
             └─5156 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Feb 17 17:56:08 ubuntu-server-1 dockerd[5156]: time="2021-02-17T17:56:08.033948437Z" level=warning msg="Your kernel doe>
Feb 17 17:56:08 ubuntu-server-1 dockerd[5156]: time="2021-02-17T17:56:08.033965368Z" level=warning msg="Your kernel doe>
Feb 17 17:56:08 ubuntu-server-1 dockerd[5156]: time="2021-02-17T17:56:08.033975166Z" level=warning msg="Your kernel doe>
Feb 17 17:56:08 ubuntu-server-1 dockerd[5156]: time="2021-02-17T17:56:08.035411046Z" level=info msg="Loading containers>
Feb 17 17:56:08 ubuntu-server-1 dockerd[5156]: time="2021-02-17T17:56:08.890277496Z" level=info msg="Default bridge (do>
Feb 17 17:56:09 ubuntu-server-1 dockerd[5156]: time="2021-02-17T17:56:09.423853312Z" level=info msg="Loading containers>
Feb 17 17:56:09 ubuntu-server-1 dockerd[5156]: time="2021-02-17T17:56:09.652192667Z" level=info msg="Docker daemon" com>
Feb 17 17:56:09 ubuntu-server-1 dockerd[5156]: time="2021-02-17T17:56:09.653158705Z" level=info msg="Daemon has complet>
Feb 17 17:56:09 ubuntu-server-1 systemd[1]: Started Docker Application Container Engine.

Сами Docker-контейнеры по умолчанию может запускать и останавливать только суперпользователь root. Если мы хотим разрешить себе производить административные действия с контейнерами, добавляем текущего пользователя в группу docker.


$ sudo usermod -aG docker ${USER}

Выходим из системы. И опять залогиниваемся. Проверяем, что теперь мы состоим в группе docker


$ id -nG

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


$ sudo usermod -aG docker username

В нашей системе Docker установлен!