Установите Docker Engine на Debian

Удалить старые версии

Сначала удалите старые версии пакетов Docker, называемых docker или docker-engine, вместе с зависимостями из вашей системы. Однако это удаление не приведет к удалению существующих томов, образов и сетей Docker, найденных в каталоге / var / lib / docker / .

apt remove -y docker docker-engine docker.io containerd runc

Настроить репозиторий Docker

Установите указанные ниже пакеты, чтобы apt имел поддержку метода HTTPS.
apt update

apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
Добавьте GPG-ключ Docker в вашу систему.

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Добавьте репозиторий Docker в систему, выполнив следующую команду.
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list
Обновите индекс репозитория.
apt update


Установить Docker Engine

Установите Docker Engine с помощью команды apt.
apt install -y docker-ce docker-ce-cli containerd.io
Проверьте версию Docker после установки.
docker -v
Выход:
Docker version 20.10.8, build 3967b7d
К настоящему времени служба Docker должна быть запущена.
systemctl status docker
Выход:
 docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 12:31:37 CDT; 1min 39s ago
TriggeredBy:  docker.socket
       Docs: https://docs.docker.com
   Main PID: 18894 (dockerd)
      Tasks: 8
     Memory: 31.3M
        CPU: 448ms
     CGroup: /system.slice/docker.service
             └─18894 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Aug 21 12:31:37 debian11.itzgeek.local dockerd[18894]: time="2021-08-21T12:31:37.192715381-05:00" level=info msg="scheme \"unix\" not registered, fallback to default s>
Aug 21 12:31:37 debian11.itzgeek.local dockerd[18894]: time="2021-08-21T12:31:37.192736530-05:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///r>
Aug 21 12:31:37 debian11.itzgeek.local dockerd[18894]: time="2021-08-21T12:31:37.192749042-05:00" level=info msg="ClientConn switching balancer to \"pick_first\"" modu>
Aug 21 12:31:37 debian11.itzgeek.local dockerd[18894]: time="2021-08-21T12:31:37.429344966-05:00" level=info msg="Loading containers: start."

Проверить установку Docker

Чтобы протестировать установку Docker, мы запустим контейнер hello-world.
docker run hello-world
Приведенный ниже вывод подтверждает, что вы правильно установили Docker Engine в ОС Debian.
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:0fe98d7debd9049c50b597ef1f85b7c1e8cc81f59c8d623fcb2250e8bec85b38
Status: Downloaded newer image for hello-world:latest

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/

Разрешить пользователям без полномочий root запускать команды Docker

По умолчанию обычные пользователи не имеют прав на запуск команд Docker, поскольку демон Docker использует сокет Unix, принадлежащий пользователю root.
docker run hello-world
Выход:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
Чтобы позволить обычным пользователям Linux запускать контейнеры Docker без префикса sudo, выполните следующие действия.
groupadd docker
При необходимости создайте пользователя . Заменить itzgeek с вашим именем пользователя.
useradd -m -s /bin/bash itzgeek
Добавьте пользователя в группу докеров.
usermod -aG docker itzgeek
Выйдите из системы и войдите снова, а затем запустите команды Docker без префикса sudo.
docker run hello-world





0