Вывод списка работающих контейнеров с помощью docker compose ps
На этом шаге вы научитесь выводить список работающих контейнеров с помощью команды docker compose ps
. Перед использованием 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
Эта команда загружает бинарный файл Docker Compose для архитектуры вашей системы и сохраняет его в /usr/local/bin/docker-compose
.
Далее необходимо установить права на выполнение для бинарного файла.
sudo chmod +x /usr/local/bin/docker-compose
Теперь проверим установку, посмотрев версию.
docker-compose --version
В выводе вы должны увидеть установленную версию Docker Compose.
Для демонстрации работы docker compose ps
нам понадобится файл docker-compose.yml
и несколько сервисов. Создадим простой файл docker-compose.yml
в вашей директории ~/project
.
nano ~/project/docker-compose.yml
Добавим следующее содержимое в файл:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
app:
image: alpine:latest
command: sleep infinity
Этот файл docker-compose.yml
определяет два сервиса: web
с использованием образа nginx
и app
с использованием образа alpine
. Сервис web
пробрасывает порт 80 хоста на порт 80 контейнера. Сервис app
выполняет команду sleep infinity
, чтобы контейнер продолжал работать.
Сохраните файл и выйдите из редактора (Ctrl+X, Y, Enter).
Теперь загрузим необходимые образы.
docker pull nginx:latest
docker pull alpine:latest
Эти команды загружают образы nginx:latest
и alpine:latest
из Docker Hub.
Затем запустим сервисы, определённые в файле docker-compose.yml
. Убедитесь, что находитесь в директории ~/project
.
cd ~/project
docker-compose up -d
Команда docker-compose up -d
собирает, создаёт, запускает и подключается к контейнерам сервиса. Флаг -d
запускает контейнеры в detached mode, то есть в фоновом режиме.
Теперь, когда контейнеры запущены, мы можем использовать docker compose ps
для их вывода.
docker-compose ps
Эта команда выводит список работающих контейнеров, определённых в вашем файле docker-compose.yml
. Вы должны увидеть вывод, похожий на этот, с именами контейнеров, командами, статусами и портами.
NAME COMMAND SERVICE STATUS PORTS
project-app-1 "sleep infinity" app running
project-web-1 "/docker-entrypoint.sh nginx -g 'daemon off;'" web running 0.0.0.0:80->80/tcp
Вывод показывает, что контейнеры project-app-1
и project-web-1
работают. NAME
обычно состоит из имени проекта (названия директории), имени сервиса и номера.