Подготовка простого файла docker-compose.yml
На этом шаге мы подготовим простой файл docker-compose.yml
. Прежде чем начать, установим Docker Compose. Так как в виртуальной среде LabEx Docker Compose не предустановлен, нам нужно установить его вручную. Мы скачаем бинарный файл Docker Compose и сделаем его исполняемым.
Сначала загрузим бинарный файл Docker Compose с помощью curl
. Мы будем использовать версию 1.29.2
, которая совместима с установленной версией Docker.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Эта команда загружает бинарный файл Docker Compose с официальной страницы релизов GitHub и сохраняет его в /usr/local/bin/docker-compose
. Части $(uname -s)
и $(uname -m)
автоматически определяют вашу операционную систему и архитектуру, гарантируя загрузку правильного бинарного файла.
Далее нам нужно сделать загруженный бинарный файл исполняемым.
sudo chmod +x /usr/local/bin/docker-compose
Эта команда добавляет права на выполнение файлу docker-compose
, позволяя запускать его как команду.
Теперь проверим, что Docker Compose установлен корректно, посмотрев его версию.
docker-compose --version
Вы должны увидеть вывод, похожий на docker-compose version 1.29.2, build 5becea4c
. Это подтверждает, что Docker Compose установлен и готов к использованию.
Теперь создадим простой файл docker-compose.yml
в вашей директории ~/project
. Этот файл будет определять один сервис, использующий образ nginx
.
nano ~/project/docker-compose.yml
Эта команда открывает текстовый редактор nano
для создания и редактирования файла docker-compose.yml
. Вставьте следующее содержимое в редактор:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Разберём этот файл docker-compose.yml
:
version: '3.8'
указывает версию формата файла Docker Compose.
services:
определяет сервисы (контейнеры), которые вы хотите запустить.
web:
— это имя нашего сервиса. Вы можете выбрать любое имя.
image: nginx:latest
указывает Docker-образ для этого сервиса. В данном случае мы используем последнюю версию официального образа Nginx.
ports:
сопоставляет порты между хост-машиной и контейнером. "80:80"
сопоставляет порт 80 на хосте с портом 80 в контейнере. Это означает, что вы можете получить доступ к веб-серверу Nginx, работающему внутри контейнера, перейдя по адресу http://localhost
в вашем браузере (или по IP-адресу виртуальной машины).
Сохраните файл, нажав Ctrl + O
, затем Enter
, и выйдите из редактора, нажав Ctrl + X
.
Теперь вы успешно создали простой файл docker-compose.yml
, который определяет веб-сервис с использованием образа Nginx. В следующих шагах мы будем использовать этот файл для создания и управления контейнерами.