ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить и использовать Docker Compose на CentOS

Как установить и использовать Docker Compose на CentOS

Docker Compose – это простая программа на Python, которая помогает легко развертывать несколько док-контейнеров на сервере.

Для описания сервиса используется простой файл YAML.

Вместо длинных docker run . . . вы можете просто использовать docker-compose up -d для развертывания нескольких сервисов одновременно.

В этой статье покажем вам, как установить Docker Compose на сервере CentOS. Мы также покажем вам быстрый пример использования Docker Compose для развертывания сервера NGINX с определенной конфигурацией.

 

Установка docker-compose на CentOS

Вам нужно установить Docker заранее. Обязательно установите Docker в вашей системе CentOS перед установкой Docker Compose.

docker-compose не входит ни в официальные репозитории CentOS, ни в rpm-репозиторий Docker.

Есть два способа установить Docker Compose в Linux:

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

Посмотрим, как это сделать.

 

Установите pip3

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

sudo dnf install python3-pip

 

Установите docker-compose с помощью pip3

Используем pip для установки docker-compose

pip3 install --user docker-compose

 

Обновить PATH

pip устанавливает docker-compose в каталог ~/.local/bin. Вам нужно будет добавить его в переменную окружения PATH, чтобы запустить его из любого места:

echo 'PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

 

Если вы используете zsh, измените.bashrc на .zshrc.

Как только вы закончите, либо используйте исходную команду, source ~/.bashrc либо снова откройте терминал (выйдите из системы и войдите снова, если это сервер).

Убедитесь, что docker-compose установлен с помощью следующей команды:

linux@andreyex:~$ docker-compose --version
docker-compose version 1.26.2, build unknown

 

Поздравляем! Теперь на вашем сервере CentOS 8 установлена ​​программа docker-compose.

Хотите проверить это? Следуйте этому простому руководству и узнайте, как использовать Docker Compose.

 

Разверните пример сервера nginx с помощью docker-compose

Nginx является одним из самых популярных веб-серверов, его легко развернуть через докер.

Давайте сравним 2 сспособа.

 

Развертывание Nginx без Docker Compose

Вы можете использовать команду run для простого развертывания сервера nginx следующим образом:

docker run --name server --network net -v html:/usr/share/nginx/html -v $PWD/custom-config.conf:/etc/nginx/nginx.conf -p 80:80 --restart on-failure -d nginx:latest

 

Здесь вы развернули сервер nginx с именем контейнера «server», используя внешнюю сеть «net», подключили том с именем «html», используя пользовательский файл конфигурации и прослушивая порт 80 на хосте, который будет автоматический перезапуск при сбое.

Давайте рассмотрим вопросы здесь:

Вам придется заранее создать сети и тома.

Docker не будет автоматически создавать сеть и том. Вам придется создать их заранее.

Слишком много вариантов, чтобы писать каждый раз

Есть слишком много вариантов, чтобы написать. Если это более сложный контейнер, такой как контейнер базы данных, контейнер обратного прокси или контейнер nextcloud, эти параметры будут только расширяться.

Среда разработки

Что если вы тестируете свою сборку и не хотите сохранять объем после остановки контейнера? Вам придется вручную удалить том и сеть после этого.

 

Развертывание Nginx с помощью Docker Compose

Во-первых, вам нужно создать файл композиции.

Создайте каталог с именем “nginx-compose” и перейдите в него:

mkdir nginx-compose && cd nginx-compose

Создайте файл с именем «docker-compose.yml» и добавьте следующие строки

version: "3.3"

services:
    server:
        image : "nginx:latest"
        container_name: "server"
        volumes:
            - "html:/usr/share/nginx/html"
            - "./custom-config.conf:/etc/nginx/nginx.conf"
        networks:
            - "net"
        ports:
            - "80:80"
        restart: "on-failure"

volumes:
    html:
networks:
    net:

В этом файле compose описывается служба с именем server, которая будет развертывать сервер nginx с точно такими же конфигурациями, как мы это делали в несложном режиме. Разверните его, используя:

docker-compose up -d

 

docker-compose найдет в текущем каталоге файл с именем “docker-compose.yml”, проанализирует его и развернет определенные в нем службы.

Давайте теперь рассмотрим проблемы некомпозиционного метода с помощью метода compose:

  1. Не нужно заранее создавать сети и тома, это делает Docker-compose. Вы можете добавить внешние тома, задав для каждого тома/сети для внешнего тома значение true.
  2. После того как вы написали файл .yaml, вам больше не нужно записывать массивные команды. Вы можете скопировать этот файл на любой другой сервер, на котором установлена последняя версия docker-compose, и он с легкостью будет работать как положено.
  3. Вы можете использовать команду docker-compose down -v, чтобы остановить и удалить не только контейнеры, но и все сети и тома, созданные docker-compose. Это помогает в очистке в среде разработки/тестирования.

Есть много других преимуществ использования docker-compose docker run, особенно в рабочей среде, что выходит за рамки сегодняшней статьи.

Exit mobile version