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

How to Install and Use Docker Compose on Ubuntu 18.04

3 Января 2021 | Ubuntu

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

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

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

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

Те же инструкции применимы для Ubuntu 16.04 и любого другого дистрибутива на основе Debian, включая Debian, Linux Mint и Elementary OS.

Предпосылки 

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

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

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

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

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

  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 
    
    
  2. После завершения загрузки примените разрешения для исполняемых файлов к двоичному файлу Compose:

    sudo chmod +x /usr/local/bin/docker-compose 
    
    
  3. Проверьте установку, выполнив следующую команду, которая отобразит версию Compose:

    docker-compose --version 
    
    

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

    docker-compose version 1.23.1, build b02f1306 
    
    

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

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

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

mkdir my_app cd my_app 

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

nano docker-compose.yml 

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

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

db service:

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

wordpress service:

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

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

docker-compose up 

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

...
wordpress_1  | [Sun Sep 23 22:31:43.499055 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations
wordpress_1  | [Sun Sep 23 22:31:43.499796 2018] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
 

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

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

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

Чтобы остановить создание, нажмите CTRL+C .

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

docker-compose up -d 

Чтобы проверить запущенные службы, используйте 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 в Ubuntu 18.04.

Использование Docker Compose может значительно улучшить ваш рабочий процесс и производительность. Вы можете определить свою среду разработки с помощью Docker Compose и поделиться ею с соавторами проекта.


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...