Android

Как установить и использовать docker compose на Debian 9

Dockerfile Best Practices

Dockerfile Best Practices

Оглавление:

Anonim

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

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

В этом руководстве описывается процесс установки последней версии Docker Compose на Debian 9. Мы также рассмотрим основные концепции и команды Docker Compose.

Предпосылки

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

  • Вы вошли как пользователь с привилегиями sudo. У вас должен быть установлен Docker на вашем компьютере с Debian 9.

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

Установочный пакет Docker Compose доступен в официальных репозиториях Debian 9, но он не всегда может быть последней версией. Рекомендуемый подход - установить Docker Compose из хранилища Docker's GitHub.

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

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

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

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

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

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

    Проверьте установку, набрав:

    docker-compose --version

    Вывод будет выглядеть примерно так:

    docker-compose version 1.23.1, build b02f1306

Начало работы с Docker Compose

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

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

mkdir wordpress_app cd wordpress_app

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

nano docker-compose.yml

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

докер-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 . Каждый сервис запускает один образ и при запуске docker-compose создает отдельный контейнер.

Служба db :

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

wordpress сервис:

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

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

docker-compose up

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

… wordpress_1_70f2f980e1fb | AH00163: Apache/2.4.25 (Debian) PHP/7.2.12 configured -- resuming normal operations wordpress_1_70f2f980e1fb | AH00094: Command line: 'apache2 -D FOREGROUND'

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

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

На этом этапе приложение WordPress запущено и работает, и вы можете начать работать над своей темой или плагином.

Чтобы остановить Compose нажмите CTRL+C

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

docker-compose up -d

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

docker-compose ps

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

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

docker-compose stop

docker-compose down

Передача --volumes также удалит тома данных:

docker-compose down --volumes

Удаление Docker Compose

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

Вывод

Вы узнали, как установить и использовать Docker Compose в Debian 9. Если у вас есть какие-либо вопросы, оставьте комментарий ниже.

докер Debian