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

12 set 2022 3 min di lettura
Как установить и использовать Docker Compose на CentOS 8
Indice dei contenuti

Введение

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

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

Compose можно использовать для различных целей, таких как развертывание приложений на одном хосте, автоматическое тестирование и локальная разработка.

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

Предпосылки

Прежде чем продолжить работу с этим учебным пособием, убедитесь, что выполнены следующие предварительные условия:

Если вы хотите установить Docker Compose на удаленный сервер, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

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

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Установите Docker Compose на CentOS

Рекомендуемый способ установки Docker Compose в CentOS 8 — загрузка двоичного файла Compose из репозитория Docker на GitHub.

На момент написания этой статьи последней стабильной версией Docker Compose является версия 1.25.1. Перед загрузкой двоичного файла Compose посетите страницу выпуска репозитория Compose на GitHub и проверьте, доступна ли для загрузки новая версия.

Выполните следующие шаги, чтобы установить Docker Compose на CentOS 8:

Начните с загрузки двоичного файла Compose Docker в каталог /usr/local/bin с помощью следующей команды curl:

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

После завершения загрузки сделайте исполняемый двоичный файл, набрав:

sudo chmod +x /usr/local/bin/docker-compose

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

docker-compose --version

Вывод будет выглядеть следующим образом:

docker-compose version 1.25.1, build a82fef07

Введение в Docker Compose

В этом разделе мы покажем вам, как использовать Docker Compose для запуска стека WordPress на вашем компьютере с CentOS 7.

Начните с создания нового каталога для проекта и перехода к нему:

mkdir my_app && cd my_app

Затем создайте файл с именем docker-compose.yml в каталоге проекта:

vi docker-compose.yml

Вставьте следующее содержимое:

version: '3.3'

 services:
 db:
 image: mysql:5.7
 restart: always
 volumes:
 - db_data:/var/lib/mysql
 environment:
 MYSQL_ROOT_PASSWORD: password
 MYSQL_DATABASE: wordpress

 wordpress:
 image: wordpress
 restart: always
 volumes:
 -./wp_data:/var/www/html
 ports:
 - "8080:80"
 environment:
 WORDPRESS_DB_HOST: db:3306
 WORDPRESS_DB_NAME: wordpress
 WORDPRESS_DB_USER: root
 WORDPRESS_DB_PASSWORD: password
 depends_on:
 - db

 volumes:
 db_data:
 wp_data:

Давайте пройдемся по коду строка за строкой.

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

Далее мы определяем две службы db и wordpress. Каждая служба запускает образ и создает отдельный контейнер при запуске композиции докеров.

Служба db:

  • Используйте mysql:5.7. Если образ отсутствует в вашей системе, Compose извлечет его из общедоступного репозитория Docker Hub.
  • Использует политику always перезапускать, которая указывает на автоматический перезапуск контейнера.
  • Создайте том с именем db_data для сохранения базы данных.
  • Определите переменные среды для mysql:5.7.

Сервис wordpress:

  • Используйте изображение wordpress. Если образ отсутствует в вашей системе, Compose извлечет его из общедоступного репозитория Docker Hub.
  • Использует политику always перезапускать, которая указывает на автоматический перезапуск контейнера.
  • Смонтируйте директорию wp_data на хост внутри контейнера /var/lib/mysql.
  • Перенаправляет открытый порт 80 контейнера на порт 8080 хост-компьютера.
  • Определяет переменные среды для изображения wordpress.
  • Оператор depends_on определяет зависимость между двумя службами. В этом примере db сначала запустит wordpress.

Из каталога проекта запустите приложение WordPress с помощью следующей команды:

docker-compose up

Вывод должен выглядеть так:

...
 wordpress_1 | [ 2020-01-17 22:36:07+00:00] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations
 wordpress_1 | [ 2020-01-17 22:36:07+00:00] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'...

Compose извлекает оба изображения, запускает два контейнера и создает каталог wp_data в каталоге проекта.

Откройте браузер, введите http://TUO_IP_O_DOMINIO:8080/ и вы увидите экран установки Wordpress.

Чтобы остановить набор, нажмите CTRL+C Если вы хотите начать сочинять в автономном режиме, используйте флаг -d:

docker-compose up -d
Starting my_app_db_1... done
 Starting my_app_wordpress_1... done

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

docker-compose ps
 Name Command State Ports
 ----------------------------------------------------------------------------------
 my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
 my_app_wordpress_1 docker-entrypoint.sh apach... Up 0.0.0.0:8080->80/tcp

Когда Compose работает в независимом режиме, чтобы остановить службу, введите следующую команду:

docker-compose stop

Чтобы полностью удалить контейнеры, используйте опцию down:

docker-compose down

Использование флага --volumes также удалит тома данных:

docker-compose down --volumes

Удалить Docker Compose

Если вы хотите удалить Docker Compose, просто удалите двоичный файл с помощью следующей команды:

sudo rm /usr/local/bin/docker-compose

Вывод

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

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.