Docker Compose – это инструмент, который можно использовать для определения и запуска нескольких контейнеров в качестве единого сервиса.

С помощью Docker Compose вы можете связать несколько контейнеров и развернуть приложение с помощью одной команды.

Он в основном используется в среде разработки, тестирования и подготовки.

Docker Compose использует YAML-файл для определения сложного стека в файле и запуска его одной командой.

В этом уроке мы покажем вам, как установить и использовать Docker Compose в CentOS 8.

Требования

  • Сервер под управлением CentOS 8.
  • Пароль root

Установка Docker

Ранее мы уже писали об этом:

🐳 Как установить Docker на CentOS 8

Установка Docker Compose

По умолчанию Docker Compose недоступен в репозитории CentOS 8 по умолчанию.

Так что вам нужно будет скачать его из репозитория Git.

Сначала установите команду curl с помощью следующей команды:

dnf install curl -y
Затем загрузите последнюю версию Docker Compose из репозитория Git, используя curl, как показано ниже:
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
После завершения загрузки сделайте загружаемый двоичный файл исполняемым с помощью следующей команды:
chmod +x /usr/local/bin/docker-compose
Затем вы можете проверить версию Compose, используя следующую команду:
docker-compose --version

Вы должны увидеть следующий вывод:

docker-compose version 1.25.0, build 0a186604
Вы можете увидеть все опции, доступные в docker-compose, используя следующую команду:
docker-compose --help
Вы должны увидеть следующую страницу:

Развертывание Drupal с Docker Compose

В этом разделе мы покажем вам, как установить Drupal с помощью Docker Compose.

Сначала создайте каталог для  drupal с помощью следующей команды:

mkdir drupal
Затем создайте файл drupal.yaml внутри каталога drupal:
nano drupal/docker-compose.yaml

Добавьте следующее содержание:

version: '3.3'

services:
  drupal:
    image: drupal:latest
    ports:
      - 80:80
    volumes:
      - drupal_modules:/var/www/html/modules
      - drupal_profiles:/var/www/html/profiles
      - drupal_themes:/var/www/html/themes
      - drupal_sites:/var/www/html/sites
    restart: always

  postgres:
    image: postgres:10
    environment:
      POSTGRES_PASSWORD: your_postgres_password
    volumes:
        - db_data:/var/lib/postgresql/data
    restart: always

volumes:
  drupal_modules:
  drupal_profiles:
  drupal_themes:
  drupal_sites:
  db_data:

Сохраните и закройте файл, когда закончите.

Затем измените каталог на drupal и запустите контейнер Docker с помощью следующей команды:

cd drupal
 docker-compose up -d

Приведенная выше команда загрузит и запустит контейнеры drupal и postgresql.

Вы можете проверить работающие контейнеры с помощью следующей команды:

docker-compose ps

Вы должны увидеть следующий вывод:

      Name                     Command               State         Ports       
-------------------------------------------------------------------------------
drupal_drupal_1     docker-php-entrypoint apac ...   Up      0.0.0.0:80->80/tcp
drupal_postgres_1   docker-entrypoint.sh postgres    Up      5432/tcp
Теперь вы можете посетить URL http://your-server-ip, чтобы получить доступ к мастеру веб-установки Drupal, как показано ниже:

Работа с Docker Compose

В этом разделе мы покажем вам, как использовать команду docker-compose.

Чтобы остановить сервисы Docker Compose, выполните следующую команду в каталоге drupal:

docker-compose stop

Вы должны увидеть следующий вывод:

Stopping drupal_drupal_1   ... done
Stopping drupal_postgres_1 ... done
Для запуска сервисов Docker Compose выполните следующую команду в каталоге drupal:
docker-compose start
Для просмотра журнала контейнеров выполните следующую команду:
docker-compose logs

Чтобы просмотреть журналы определенного контейнера, выполните следующую команду:

docker-compose logs drupal
Вы можете просмотреть свой файл конфигурации, используя следующую команду:
docker-compose config
Чтобы приостановить и отменить приостановку контейнеров, выполните следующую команду:
docker-compose pause
Вывод:
Pausing drupal_postgres_1 ... done
Pausing drupal_drupal_1   ... done
docker-compose unpause

Вывод

Unpausing drupal_drupal_1   ... done
Unpausing drupal_postgres_1 ... done

Чтобы удалить все контейнеры, выполните следующую команду:

docker-compose down

Вы должны увидеть следующий вывод:

Stopping drupal_drupal_1   ... done
Stopping drupal_postgres_1 ... done
Removing drupal_drupal_1   ... done
Removing drupal_postgres_1 ... done
Removing network drupal_default
Вы также можете удалить тома, используя следующую команду:
docker-compose down --volumes

Вы должны увидеть следующий вывод:

Removing network drupal_default
WARNING: Network drupal_default not found.
Removing volume drupal_drupal_modules
Removing volume drupal_drupal_profiles
Removing volume drupal_drupal_themes
Removing volume drupal_drupal_sites
Removing volume drupal_db_data

Заключение

В этом руководстве мы узнали, как установить и использовать Docker Compose в CentOS 8.

Надеюсь, теперь у вас достаточно знаний о том, как использовать команду Docker Compose для управления контейнерами Docker.

 

Поделитесь статьей:

One thought on “🐳 Как установить и использовать Docker Compose на CentOS 8

  1. Проблемой первого способа является то, что обычно в репозиториях операционной системы docker-compose старой версии. Это является проблемой, если необходимо использовать свежую версию демона docker или используются специфические для определенной версии формата файла docker-compose.yaml возможности (матрицу поддерживаемых фич по версиям формата и версиям утилиты docker-compose можно найти на официальном сайте docker).

Добавить комментарий для Алла Отменить ответ