Установка Docker Compose

Официальный источник

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

Что бы не было параллельной установки и дальнейших проблем проверить установлен ли Docker одним из способов.

Для владельцев Ubuntu читать

sudo snap list | grep docker

sudo apt list --installed | grep docker

Обновить список пакетов

sudo apt update

Если будут ошибки исправить отредактировав sudo nano /etc/apt/sources.list

Добавить официальный ключ GPG Docker

Установить:

  • ca-certificates
  • curl в последнее время не обязательно, уже присутсвует во многих дистрибутивах.
  • gnupg

sudo apt install ca-certificates curl gnupg

Поменять права на на каталог keyrings

sudo install -m 0755 -d /etc/apt/keyrings

Скачать и запаковать ключ:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Изменить права на - всем разрешить чтение.

sudo chmod a+r /etc/apt/keyrings/docker.gpg

Добавить репозиторий Docker Compose в источники Apt

Полностью скопировать и вставить в терминал:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update

Установка последней версии Docker Compose

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Проверка работы Docker Compose

sudo docker run hello-world

Вывод терминала:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete 
Digest: sha256:4ed78111b6914a99dbc460e6a20eab57ff6655aea3a80c50b0c5492968cbc2e6
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/

Видим Hello from Docker! значит все хорошо

Запуск Docker compose без sudo

Для запуска докера без sudo надо добавить пользователя в группу докера

sudo usermod -aG docker ${USER}

Что бы изменения вступили в силу:

su - ${USER}

Или просто перезайти на сервер.