Поиск по сайту:

Как установить Docker и Docker Compose на Debian 11


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить Docker
  4. Управление службами Docker
  5. Запуск контейнера с помощью Docker
  6. Установите Docker Compose
  7. Команды Docker Compose
  8. Заключение

Docker — это бесплатная платформа с открытым исходным кодом для разработки, доставки и запуска приложений в контейнерной среде. Это позволяет вам отделить ваше приложение от вашей инфраструктуры. Это упростит, упростит и сделает более безопасным создание, развертывание и управление контейнерами. Docker предназначен для настройки локальной среды разработки.

Если вы хотите создать более одного контейнера для своего приложения, вам следует использовать Docker compose. Docker-compose — это инструмент, используемый для определения и совместного использования мультиконтейнерных приложений. С Docker compose вы можете использовать файл YAML для определения всех служб и одновременного запуска их с помощью простой команды.

В этом руководстве мы покажем вам, как установить Docker и Docker compose в системе Debian 11.

Предпосылки

  • Сервер под управлением Debian 11.
  • На сервере настроен пароль root.

Начиная

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

apt-get update -y

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

apt-get install apt-transport-https software-properties-common ca-certificates curl gnupg lsb-release -y

Установить Докер

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

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

После добавления репозитория Docker обновите репозиторий и установите Docker CE с помощью следующей команды:

apt-get update -y
apt-get install docker-ce docker-ce-cli -y

После установки проверьте версию Docker CE с помощью следующей команды:

docker version

Вы должны получить следующий результат:

Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:54:22 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:52:31 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Управление службами Docker

Вы можете легко управлять службой Docker с помощью утилиты systemd.

Чтобы запустить службу Docker, выполните следующую команду:

systemctl start docker

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

systemctl restart docker

Чтобы остановить службу Docker, выполните следующую команду:

systemctl stop docker

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

systemctl enable docker

Чтобы проверить статус Docker, выполните следующую команду:

systemctl status docker

Вы должны увидеть статус Docker в следующем выводе:

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-09-10 07:19:35 UTC; 27s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 29018 (dockerd)
      Tasks: 7
     Memory: 32.6M
        CPU: 407ms
     CGroup: /system.slice/docker.service
             ??29018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809035575Z" level=info msg="scheme \"unix\" not registered, fallback to def>
Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809219999Z" level=info msg="ccResolverWrapper: sending update to cc: {[{uni>
Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809410545Z" level=info msg="ClientConn switching balancer to \"pick_first\">
Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.897972507Z" level=info msg="Loading containers: start."
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.186940748Z" level=info msg="Default bridge (docker0) is assigned with an IP>
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.298681937Z" level=info msg="Loading containers: done."
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.356364773Z" level=info msg="Docker daemon" commit=75249d8 graphdriver(s)=ov>
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.357524464Z" level=info msg="Daemon has completed initialization"
Sep 10 07:19:35 debian11 systemd[1]: Started Docker Application Container Engine.
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.401626151Z" level=info msg="API listen on /run/docker.sock"

Запустите контейнер с помощью Docker

Вы можете использовать команду docker run, чтобы загрузить любой образ и запустить его внутри контейнера.

Например, выполните следующую команду, чтобы загрузить образ Debian и запустить контейнер:

docker run --rm -it --name test debian:latest /bin/sh

Вы должны получить следующий результат:

Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
955615a668ce: Pull complete 
Digest: sha256:08db48d59c0a91afb802ebafc921be3154e200c452e4d0b19634b426b03e0e25
Status: Downloaded newer image for debian:latest
#

Выполните следующую команду, чтобы выйти из контейнера Debian.

#exit

Установите Docker Compose

По умолчанию Docker compose недоступен в репозитории по умолчанию Debian 11. Поэтому вам нужно скачать двоичный файл Docker compose с Github.

Выполните следующую команду, чтобы загрузить бинарный файл Docker compose:

curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -

После завершения загрузки установите исполняемый файл для загруженного файла и переместите его в системный путь с помощью следующей команды:

chmod +x docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose

Затем проверьте версию компоновки Docker с помощью следующей команды:

docker-compose version

Вы должны увидеть следующий вывод:

docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

Команды Docker Compose

Чтобы запустить файл компоновки Docker, выполните следующую команду:

docker-compose up -d

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

docker-compose down

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

docker-compose pause
docker-compose unpause

Чтобы получить список всех запущенных контейнеров, выполните следующую команду:

docker-compose ps

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

docker-compose logs

Заключение

Поздравляем! вы успешно установили Docker и Docker Compose в Debian 11. Теперь вы можете создавать, отправлять и запускать свое приложение с помощью Docker и Docker Compose.