Новости
Семь Чёрных пятниц на неделе — и все в Serverspace!
Serverspace Black Friday
DC
8 апреля 2020
Обновлено 15 ноября 2022

Установка Docker Compose на CentOS 7

CentOS Docker

Docker Compose — это инструмент командной строки для определения и настройки многоконтейнерных приложений Docker. Иначе говоря, Docker Compose используется для связывания нескольких контейнеров и развертывания приложения из одного файла. Инструмент Docker Compose может использоваться в среде разработки, тестирования и подготовки, и, кроме того, может быть легко использован в рабочем процессе CI (Continuous Integration).

Предположим, вам требуется развернуть сайт на WordPress внутри контейнера — для его развертывания потребуется один контейнер веб-сервера (Apache/Nginx) и один контейнер базы данных (MySQL/MariaDB). С помощью Docker Compose есть возможность легко включить несколько контейнеров в файл docker-compose, а также любую другую конфигурацию, которая требуется для полноценной работы приложения.

В этой инструкции будет разобран процесс установки Docker Compose на существующий хост, содержащий Docker, а также будет затронута тема развертывания контейнеров командой docker-compose.

Предполагается, что хост с Docker уже настроен и работает. Перейдем к этапам установки Docker Compose Tool.

Вы можете воспользоваться инструкцией или создать сервер в Serverspace с уже установленным приложением Docker.

Этапы установки Docker Compose

Отредактируем docker файл. Для этого выполним следующие команды:

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum -y install java
/bin/bash
cd

Зайдите на свой хост, содержащий Docker, и по порядку запустите команды, перечисленные ниже:

yum install epel-release -y
yum update -y
yum install python3-pip
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Примечание

Для стабильной работы Docker Compose рекомендуем использовать менеджер пакетов pip версии 6.0 или выше. Если версия pip ниже 6.0, выполните команду для его обновления:

pip install --upgrade pip

Установите Docker:

sudo yum install docker

Проверьте версию Docker командой:

docker-compose --version

Результат:

docker-compose version 1.23.2, build 1110ad01

Развертывание контейнеров инструментом Docker Compose

Создайте каталог и в нем же файл compose с именем «docker-compose.yml» или «docker-compose.yaml». В файле compose мы определим сервисы для приложений и образы контейнеров.

Прежде чем приступить к созданию compose-файла, скачайте образы контейнеров WordPress и MySQL:

docker pull wordpress
docker pull mysql
docker image ls

Результат:
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress latest d44c65e8e9a3 9 days ago 540MB
mysql latest 9b51d9275906 3 weeks ago 547MB

Затем создайте каталог с именем «siteonwordpress»:

mkdir siteonwordpress
cd siteonwordpress/

Далее создайте файл docker-compose.yml с перечисленным содержимым:

version: '3.0'
services:
frontserver:
image: wordpress
container_name: wp_cont
ports:
- 8080:80
links:
- databaseserver:mysql
environment:
WORDPRESS_DB_PASSWORD: erf6UiwkzjTH
databaseserver:
image: mysql:latest
container_name: wordpressdb_cont
environment:
MYSQL_ROOT_PASSWORD: erf6UiwkzjTH

В приведенном выше файле compose были определены два сервиса с именами «frontserver» и «databaseserver». Для этих сервисов также указаны образы контейнера. Помимо этого были определены переменные среды и упомянуты пароли root mysql и db wordpress.  Обращаем внимание, что отступы осуществляются пробелами, в соответствии с YAML-разметкой.

Давайте развернем наше приложение, то есть сайт на WordPress, с помощью команды:

docker-compose up

Примечание

Выполнять запуск «docker-compose up» следует из каталога, в котором находится файл docker-compose.

Команда выше развернет два контейнера с именами «wp_cont» и «wordpressdb_cont». Попробуйте получить доступ к своему сайту WordPress, используя следующий URL:

http://{dockerserver-ip}:8080

Следуйте инструкциям на экране, чтобы завершить установку WordPress. Это подтверждает, что сайт WordPress был успешно развернут внутри контейнеров благодаря использованию утилиты docker-compose.

Далее рассмотрим параметры команды «docker-compose».

Вывод контейнеров, развернутых для нашего приложения

Для вывода выполните следующую команду:

docker-compose ps

Name Command State Ports
--------------------------------------------------------------------------------
wordpressdb_cont docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
wp_cont docker-entrypoint.sh apach ... Up 0.0.0.0:8080->80/tcp

Остановка и запуск контейнеров и их служб

Можно нажать Ctrl+C во время выполнения «docker-compose up» или выполнить команду:

docker-compose stop


Stopping wp_cont ... done
Stopping wordpressdb_cont ... done/code>

Выполните команду «docker-compose start», чтобы запустить контейнеры и их службы:

docker-compose start

Starting databaseserver ... done
Starting frontserver ... done

Просмотр журналов контейнеров

Чтобы просмотреть журналы контейнеров и журналы определенного контейнера, запустите команду «docker-compose logs {service-name}»:

docker-compose logs
docker-compose logs databaseserver

Остановить и удалить контейнеры вместе с созданной сетью

С помощью команды «docker-compose down» можно останавливать и удалять контейнеры, выполняя всего одну команду:

docker-compose down

Stopping wp_cont ... done
Stopping wordpressdb_cont ... done
Removing wp_cont ... done
Removing wordpressdb_cont ... done
Removing network compose_default

Дополнительные параметры можно узнать в разделе помощи, выполнив команду «docker-compose –help».

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
050000 г. Алматы пр. Сейфуллина, д. 502
+7 (777) 555-36-66
ООО «ИТГЛОБАЛКОМ ЛАБС»