Перейти к содержимому
Главная страница » Установка Docker на Debian 12

Установка Docker на Debian 12

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

sudo apt update && sudo apt upgrade -y

Если получите ошибку

sudo: command not found

То необходимо выполнить команду:

apt-get install sudo -y

Установка Docker на Debian 12

После обновления вашей системы установите необходимые пакеты, чтобы apt мог использовать репозиторий по протоколу HTTPS:

sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2 -y

Затем добавьте официальный GPG-ключ Docker:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Добавьте репозиторий Docker в APT sources:

echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

Обновите индекс вашего пакета и установите Docker CE (Community Edition):

sudo apt update && sudo apt install docker-ce -y

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

sudo systemctl enable docker

Проверьте установку Docker, запустив образ hello-world:

sudo docker run hello-world

Если, Docker установлен правильно, то вывод должен получиться таким же:

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

Установка Docker Compose в Debian 12

Docker Compose — это инструмент для определения и запуска многоконтейнерных приложений Docker. Чтобы установить Docker Compose, нужно загрузить последнюю версию из официального репозитория GitHub.

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

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

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

Установка Docker Compose из GitHub

Для этой операции в вашей системе должны быть установлены curl и wget. И, конечно же, вам нужен доступ к Терминалу как пользователю с правами sudo.

sudo apt update
sudo apt install -y curl wget

После установки curl загрузите последнюю версию Compose на свой компьютер с Linux.

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

Переместите файл по вашему ПУТИ.

sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

Подтвердите версию.

$ docker-compose version
Docker Compose version v2.28.1

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

sudo usermod -aG docker $USER
newgrp docker

Настройка завершения работы оболочки docker-compose

Compose имеет завершение команды для оболочек bash и zsh.

Для пользователей Bash

Поместите сценарий завершения в /etc/bash_completion.d/.

sudo mkdir -p /etc/bash_completion.d/
sudo curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose

Создайте исходный файл или повторно войдите в систему, чтобы воспользоваться функцией завершения.

echo "source /etc/bash_completion.d/docker-compose"|tee -a ~/.bashrc
source /etc/bash_completion.d/docker-compose

Для пользователей Zsh

Загрузите сценарий завершения в свой ~/.zsh/completion/

mkdir -p ~/.zsh/completion
curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose

Включите каталог в свой, $fpath добавив в~/.zshrc:

$ vim ~/.zshrc||nano ~/.zshrc
fpath=(~/.zsh/completion $fpath)

Убедитесь, что compinit он загружен, или сделайте это, добавив в ~/.zshrc:

autoload -Uz compinit && compinit -i

Затем перезагрузите свою оболочку:

exec $SHELL -l

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

Наше подробное руководство посвящено управлению контейнерами Docker с помощью Docker Compose

Создайте тестовый файл Docker Compose.

vim docker-compose.yml

Добавьте в файл приведенные ниже данные.

services:
  web:
    image: nginx:latest
    ports:
     - "8080:80"
    links:
     - php
  php:
    image: php:8-fpm

Запустите сервисные контейнеры.

$ docker-compose up -d
[+] Running 18/18
 ✔ php Pulled                                                                                                                                                                                   20.9s
   ✔ 01c187ab622c Pull complete                                                                                                                                                                  1.2s
   ✔ 4382a8829fff Pull complete                                                                                                                                                                 15.3s
   ✔ 43046b340e34 Pull complete                                                                                                                                                                 15.3s
   ✔ 41722365abab Pull complete                                                                                                                                                                 15.5s
   ✔ a52941633aa9 Pull complete                                                                                                                                                                 15.5s
   ✔ 930f8db3b95e Pull complete                                                                                                                                                                 18.9s
   ✔ f32aed4faf2d Pull complete                                                                                                                                                                 18.9s
   ✔ 499f39c692f7 Pull complete                                                                                                                                                                 18.9s
   ✔ add8a6605e0d Pull complete                                                                                                                                                                 19.0s
 ✔ web Pulled                                                                                                                                                                                    6.6s
   ✔ 2cc3ae149d28 Already exists                                                                                                                                                                 0.0s
   ✔ 1018f2b8dba8 Pull complete                                                                                                                                                                  4.6s
   ✔ b831e78d8e20 Pull complete                                                                                                                                                                  4.7s
   ✔ 3ab22521e919 Pull complete                                                                                                                                                                  4.7s
   ✔ 5112bf42775b Pull complete                                                                                                                                                                  4.7s
   ✔ cbdaf9e4ee2d Pull complete                                                                                                                                                                  4.7s
   ✔ a06b6fd631e8 Pull complete                                                                                                                                                                  4.7s
[+] Running 3/3
 ✔ Network root_default  Created                                                                                                                                                                 0.1s
 ✔ Container root-php-1  Started                                                                                                                                                                 0.7s
 ✔ Container root-web-1  Started                                                                                                                                                                 0.8s

Показать запущенные контейнеры

$ docker-compose ps
   Name                 Command               State                  Ports
------------------------------------------------------------------------------------------
root_php_1   docker-php-entrypoint php-fpm    Up      9000/tcp
root_web_1   /docker-entrypoint.sh ngin ...   Up      0.0.0.0:8080->80/tcp,:::8080->80/tcp

Уничтожать контейнеры

$ docker-compose stop
Stopping root_web_1 ... done
Stopping root_php_1 ... done

$ docker-compose rm -f
Going to remove root_web_1, root_php_1
Removing root_web_1 ... done
Removing root_php_1 ... done

Установка Portainer на Debian 12

Теперь, когда Docker запущен, установим Portainer. Сначала создайте том, который сервер Portainer будет использовать для хранения своей базы данных:

docker volume create portainer_data

Затем загрузите и установите серверный контейнер Portainer:

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Сервер Portainer теперь установлен. Вы можете проверить, запущен ли контейнер сервера Portainer, выполнив команду docker ps.

Для входа в систему используем адрес:

https://localhost:9443 или https://IP адрес сервера:9443

Подробнее про установку Portainer можно прочитать на официальном сайте.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *