Подготовка простого файла docker-compose.yml
На этом шаге мы подготовим простой файл docker-compose.yml
. Прежде чем начать, давайте разберёмся, что такое Docker Compose. Docker Compose — это инструмент для определения и запуска многоконтейнерных Docker-приложений. С помощью Compose вы используете YAML-файл для настройки сервисов вашего приложения. Затем одной командой создаёте и запускаете все сервисы из конфигурации.
Поскольку Docker Compose не предустановлен в среде LabEx, нам нужно сначала его установить. Мы загрузим бинарный файл 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.yml
в директории ~/project
. Этот файл будет определять один сервис, использующий образ ubuntu
и просто выполняющий команду sleep infinity
, чтобы контейнер оставался запущенным.
Мы воспользуемся редактором nano
для создания и редактирования файла.
nano ~/project/docker-compose.yml
В редакторе nano
вставьте следующее содержимое:
version: "3.8"
services:
ubuntu_service:
image: ubuntu
command: sleep infinity
Разберём этот файл docker-compose.yml
:
version: '3.8'
— указывает версию формата файла Compose.
services:
— определяет сервисы вашего приложения.
ubuntu_service:
— имя нашего сервиса. Вы можете выбрать любое имя.
image: ubuntu
— указывает Docker-образ для этого сервиса. В данном случае используется официальный образ ubuntu
. Если образ отсутствует локально, Docker Compose автоматически загрузит его.
command: sleep infinity
— команда, выполняемая при запуске контейнера. sleep infinity
просто поддерживает работу контейнера бесконечно.
После вставки сохраните файл, нажав Ctrl + X
, затем Y
для подтверждения и Enter
, чтобы сохранить под именем docker-compose.yml
.
Чтобы убедиться, что образ ubuntu
доступен, заранее загрузим его с помощью команды docker pull
. Это хорошая практика перед запуском сервиса через Docker Compose.
docker pull ubuntu
Вы увидите вывод, указывающий на загрузку образа ubuntu
.