Вывод списка всех стэков
На этом этапе вы узнаете, как вывести список всех Docker-стэков (Docker stacks), запущенных в вашей системе. Docker-стэк представляет собой набор сервисов, развернутых вместе. Прежде чем мы сможем вывести список стэков, нам нужно установить Docker Compose, которая используется для определения и запуска много-контейнерных Docker-приложений.
Сначала установим Docker Compose. Мы загрузим бинарный файл Docker Compose и сделаем его исполняемым.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Первая команда загружает бинарный файл Docker Compose из официального репозитория на GitHub. $(uname -s)
и $(uname -m)
используются для получения операционной системы и архитектуры вашего компьютера, чтобы убедиться, что вы загружаете правильный бинарный файл. Вторая команда делает загруженный файл исполняемым.
Теперь, когда Docker Compose установлена, проверим установку, проверив версию.
docker-compose --version
В выводе вы должны увидеть установленную версию Docker Compose.
Для демонстрации вывода списка стэков нам нужно развернуть простой стэк. Мы создадим файл docker-compose.yml
, который определяет простой веб-сервис.
nano ~/project/docker-compose.yml
Вставьте следующее содержимое в файл docker-compose.yml
:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Этот файл docker-compose.yml
определяет один сервис с именем web
, который использует образ nginx:latest
и сопоставляет порт 80 на хосте с портом 80 в контейнере.
Теперь развернем этот стэк с помощью команды docker stack deploy
. Мы назовем наш стэк mywebstack
.
docker stack deploy -c ~/project/docker-compose.yml mywebstack
Флаг -c
указывает на используемый файл Compose, а mywebstack
- это имя, которое мы даем нашему стэку. Вы увидите вывод, указывающий на то, что сервисы создаются и развертываются.
После развертывания стэка вы можете вывести список всех запущенных стэков с помощью команды docker stack ls
.
docker stack ls
Эта команда отобразит список всех развернутых стэков, включая имя стэка, количество сервисов, а также желаемое и текущее количество реплик для каждого сервиса. В выводе вы должны увидеть mywebstack
в списке.