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

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

Введение

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

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

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

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

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

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

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

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

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/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.25.0, build 0a186604

Введение в Docker Compose

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

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

mkdir wordpress_app && cd wordpress_app

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

nano docker-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 предписывает Compose перезапустить контейнер, если он остановится.
  • Контейнер будет использовать том с именем db_data для сохранения базы данных.
  • Определяет переменные окружения для mysql:8.0.

Сервис wordpress:

  • Используйте изображение wordpress.
  • Смонтируйте директорию wp_data на хосте для /var/lib/mysql внутри контейнера.
  • Перенаправляет открытый порт 80 в контейнере на порт 8080 на главном компьютере.
  • Определяет переменные среды для изображения wordpress.
  • Оператор depends_on определяет зависимость между двумя службами. В этом примере 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_77746359ac9c | 2019-12-13T20:31:22.109255Z 0 [System] [MY-011323] [Server] 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 активно, и вы можете начать работать с ним.

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

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

docker-compose up -d

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

docker-compose ps
 Name Command State Ports
 ------------------------------------------------------------------------------------------------------
 wordpress_app_db_1_77746359ac9c 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

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

docker-compose down

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

docker-compose down --volumes

Удалить Docker Compose

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

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

Вывод

Чтобы установить Docker Compose в Debian 10, просто загрузите двоичный файл в каталог по системному пути и сделайте его исполняемым.

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.