Подготовка простого проекта Docker Compose
На этом шаге мы подготовим простой проект Docker Compose. Поскольку Docker Compose не предустановлен в среде LabEx, сначала мы его установим. Docker Compose — это инструмент для определения и запуска многоконтейнерных приложений Docker. С помощью Compose вы используете YAML-файл для настройки сервисов вашего приложения, а затем одной командой создаёте и запускаете все сервисы из конфигурации.
Сначала установим 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.
docker-compose --version
Вы должны увидеть вывод, похожий на Docker Compose version v2.20.2
.
Далее создадим простой проект Docker Compose. Создадим директорию для проекта и файл docker-compose.yml
внутри неё. Этот файл определит простой сервис с использованием образа ubuntu
.
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
nano docker-compose.yml
В редакторе nano
вставьте следующее содержимое в файл docker-compose.yml
:
version: "3.8"
services:
my-service:
image: ubuntu:latest
command: tail -f /dev/null
Нажмите Ctrl + X
, затем Y
и Enter
, чтобы сохранить и выйти.
Разберём файл docker-compose.yml
:
version: '3.8'
— указывает версию формата файла Docker Compose.
services:
— определяет сервисы, из которых состоит ваше приложение.
my-service:
— имя нашего сервиса.
image: ubuntu:latest
— указывает Docker-образ для этого сервиса (используем последнюю версию Ubuntu).
command: tail -f /dev/null
— команда, выполняемая при запуске контейнера. Она удерживает контейнер в рабочем состоянии без значительного потребления ресурсов, что полезно для тестирования и отладки.
Перед запуском сервиса загрузим образ ubuntu:latest
.
docker pull ubuntu:latest
Теперь запустим сервис командой docker-compose up
. Флаг -d
запускает контейнеры в фоновом режиме.
docker-compose up -d
Вы увидите вывод, подтверждающий создание и запуск сервиса.
Наконец, проверим статус запущенного сервиса командой docker-compose ps
.
docker-compose ps
Вы должны увидеть информацию о том, что контейнер my-service
работает.