Создание простого файла docker-compose.yml
На этом шаге мы создадим базовый файл docker-compose.yml
. Этот файл является основой Docker Compose, определяя сервисы, сети и тома для вашего приложения. Перед началом нам необходимо установить 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 --version
Вы должны увидеть информацию о версии в консоли, что подтвердит корректную установку Docker Compose.
Далее перейдём в директорию ~/project
, которая является рабочей для этой лабораторной работы.
cd ~/project
Теперь создадим файл docker-compose.yml
в этой директории. Этот файл будет определять простой сервис с использованием образа nginx
. Для создания и редактирования файла воспользуемся редактором nano
.
nano docker-compose.yml
В редакторе nano
вставим следующее содержимое:
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. Если образ отсутствует локально, Docker Compose автоматически загрузит его из Docker Hub при запуске сервиса.
ports:
— сопоставляет порты между хост-машиной и контейнером. "80:80"
сопоставляет порт 80 на хосте с портом 80 в контейнере. Это означает, что вы сможете получить доступ к веб-серверу Nginx, работающему в контейнере, через http://localhost
(или IP-адрес ВМ) на вашей хост-машине.
После вставки содержимого сохраните файл, нажав Ctrl + O
, затем Enter
для подтверждения имени файла, и наконец Ctrl + X
для выхода из редактора nano
.
Теперь вы успешно создали свой первый файл docker-compose.yml
. На следующем шаге мы используем этот файл для запуска сервиса Nginx.