Android

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

Introduction to docker compose | Docker

Introduction to docker compose | Docker

Оглавление:

Anonim

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

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

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

В этом руководстве объясняется, как установить последнюю версию Docker Compose на Debian 10, Buster. Мы также рассмотрим основные концепции и команды Docker Compose.

Предпосылки

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

  • Вы вошли как пользователь с привилегиями sudo. На вашем компьютере с Debian 10 установлен Docker.

Установка Docker Compose в Debian 10

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

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

Чтобы установить последнюю версию Docker Compose в Debian 10, выполните следующие действия:

  1. Загрузите двоичный файл Docker Compose в каталог /usr/local/bin с помощью wget или 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

    Используйте chmod чтобы сделать исполняемый файл Compose:

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

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

    docker-compose --version

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

    docker-compose version 1.23.1, build b02f1306

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

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

Создайте каталог для проекта и перейдите в него:

mkdir wordpress_app && cd wordpress_app

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

nano docker-compose.yml

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

докер-compose.yml

version: '3.7' services: db: image: mysql:8.0 command: --default-authentication-plugin=mysql_native_password 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:8.0 . Если изображение отсутствует, Compose извлечет его из общедоступного хранилища Docker Hub. Строка, начинающаяся с command переопределяет команду по умолчанию restart: always Политика restart: always предписывает Compose перезапустить контейнер, если он выйдет из строя. Контейнер будет использовать именованный том db_data для сохранения базы данных. db_data переменные среды для образа mysql:8.0 .

Сервис wordpress :

  • Использует изображение wordpress Устанавливает каталог wp_data на хосте в /var/lib/mysql внутри контейнера. wp_data открытый порт 80 на контейнере на порт 8080 на хост-машине. depends_on переменные среды для изображения wordpress Инструкция определяет зависимость между двумя сервисами. В этом примере db будет запущена до wordpress .

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

docker-compose up

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

…] /usr/sbin/mysqld: ready for connections. Version: '8.0.18' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL. db_1_99946702ac7e | 2019-12-15T21:37:29.109255Z 0 X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060…

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

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

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

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

Вы также можете запустить Compose в отдельном режиме, используя опцию -d :

docker-compose up -d

Для просмотра запущенных Docker-контейнеров используйте следующую команду:

docker-compose ps

Name Command State Ports ------------------------------------------------------------------------------------------------------ wordpress_app_db_1_99946702ac7e docker-entrypoint.sh --def… Up 3306/tcp, 33060/tcp wordpress_app_wordpress_1_a428d8408817 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 10, просто загрузите двоичный файл в каталог по системному пути и сделайте его исполняемым.

докер Debian