Как узнать версию docker compose linux

Обновлено: 04.07.2024

Мы рассмотрим процесс установки Docker на системы семейства Linux — а именно, CentOS, Fedora и Ubuntu.

Ubuntu

Docker на Ubuntu ставится, относительно, просто.

Обновляем список пакетов:

Устанавливаем докер командой:

apt-get install docker docker.io

Разрешаем автозапуск докера и стартуем его:

systemctl enable docker

systemctl start docker

CentOS 8

dnf install wget

Скачиваем конфигурационный файл для репозитория докер:

Теперь устанавливаем docker:

dnf install docker-ce docker-ce-cli

И разрешаем автозапуск сервиса и стартуем его:

systemctl enable docker --now

CentOS 7

yum install wget

Скачиваем файл репозитория:

yum install docker-ce docker-ce-cli containerd.io

Запускаем его и разрешаем автозапуск:

systemctl enable docker --now

Fedora

Устанавливаем плагин, дающий дополнительные инструменты при работе с пакетами:

yum install dnf-plugins-core

dnf install docker-ce docker-ce-cli containerd.io

Запускаем его и разрешаем автозапуск:

systemctl enable docker --now

Проверка

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

docker run hello-world

Сначала система обнаружит, что нужного образа нет и загрузит его:

После отобразит приветствие:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker.

Docker работает корректно.

Установка Compose

Команда docker-compose позволяет развернуть многоконтейнерные Docker-приложения.

* где 1.29.2 — последняя версия файла.

Даем права файлу на исполнение:

chmod +x /usr/bin/docker-compose

Запускаем docker-compose с выводом его версии:

Возможные проблемы

1. undefined symbol: seccomp_api_set

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

/usr/bin/containerd: symbol lookup error: /usr/bin/containerd: undefined symbol: seccomp_api_set

Причина: ошибка возникает, если установить свежую версию containerd на систему с необновленной библиотекой libseccomp.

Решение: обновляем libseccomp.

yum update libseccomp

apt-get --only-upgrade install libseccomp2

2. error initializing network controller list bridge addresses failed no available network

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

error initializing network controller list bridge addresses failed no available network

Причина: система не может создать docker-интерфейс.

Решение: создаем docker-интерфейс вручную. Устанавливаем утилиту для работы с bridge-интерфейсами.

yum install bridge-utils

apt-get install bridge-utils

brctl addbr docker0

Назначаем IP-адреса на созданный интерфейс:

ip addr add 192.168.84.1/24 dev docker0

* в нашем примере для docker мы задали адрес 192.168.84.1.


Как работает Docker Compose

  • Используйте yaml файл для настройки ваших служб и приложений ( docker-compose.yaml )
  • Вы можете запустить все сервисы одной командой ( docker-compose up )
  • Вы можете остановить все сервисы одной командой ( docker-compose down )
  • Возможность расширения конкретных сервисов и приложений при необходимости.
  • работает во всех средах: производство, подготовка, разработка, тестирование, а также рабочие процессы CI

Шаг 1 Установка Docker Compose

Запустите команду из вашего терминала Linux, чтобы установить docker-compose:


Посмотрим на версию Docker Compose установленную на CentOS 8:


Шаг 2 Создаем Docker Compose файл

Теперь давайте создадим файл, для нашего docker compose, в качестве расположения файла вы можете использовать любую директорию, я же создам в корневом каталоге CentOS8 отдельную директорию, для файла docker compose:


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

Добавим в yml файл следующее содержимое:

Шаг 3 Проверка валидности файла Docker Compose

Проверить работоспособность yaml файла для docker compose можно следующей командой:


Обновим наш docker-compose файл, чтобы он принял следующий вид:

Еще раз проверим работоспособность файла yaml. Если файл сконфигурирован верно Docker Compose отобразит конфигурацию файла.


Шаг 4 Запуск файла docker-compose.ym l

Раз наш файл теперь содержит корректную конфигурацию самое время его запустить, для этого выполним команду:

По окончании загрузки перед нами появится следующая информация об окончании загрузки.


Шаг 5 Проверка работающих контейнеров

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

Если контейнеры успешно запущены, перед Вами появится примерно следующий вывод.

Шаг 6 Изменение конфигурации контейнеров

Перезапустим docker compose и вновь проверим состояния docker выполнив docker ps:



Шаг 7 Остановка Docker Compose

Остановить работу docker контейнеров Вы можете выполнив команду:

После проверки Вы увидите, что все контейнеры docker остановлены.

Предположим, вам нужно расширить вашу базу данных и вам нужно четыре экземпляра базы данных вместо одного . Вы можете увеличить количество сервисов, следующей командой:

Проверим количество контейнеров database выполнив: docker ps


вы можете видеть, что у нас запущен один сервер nginx и запущены целых четыре службы баз данных.

How to Install and Use Docker Compose on Ubuntu 18.04

В этом руководстве мы покажем вам, как установить последнюю версию 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, выполните следующие действия:

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

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

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

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

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

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

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

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

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

Давайте проанализируем код построчно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Удаление Docker Compose

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

Заключение

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

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


Docker – это технология с открытым исходным кодом, которая решает проблемы развертывания и масштабирования путем отделения приложений от зависимостей инфраструктуры. Она решает эти проблемы благодаря применению контейнеров, позволяющих упаковать приложение со всеми его зависимостями, включая структуру каталогов, метаданные, пространство процессов, номера сетевых портов и т. д. Приложение, упакованное в контейнер, запускается одинаково на любых машинах и в любых окружениях. Именно эта особенность сделала технологию Docker особенно интересной и обеспечила ей стремительный взлет.

И еще одно определение докера:


Сущности Docker: docker daemon, container, image, Dockerfile, Docker Registry

В Docker используется архитектура клиент/сервер, в соответствии с которой клиент взаимодействует с демоном Docker, а тот предоставляет все необходимые клиенту услуги.


Рассмотрим компоненты рабочего процесса и инструменты для управления контейнерами и их развертывания, составляющие экосистему Docker:

Что такое docker image (образ)

Образ Docker состоит из набора файлов, которые объединяют воедино все необходимое, например installations, application code, и dependencies, необходимые для настройки полностью работоспособной среды контейнера. Вы можете создать образ Docker одним из двух способов:

  • Интерактивный: запустив контейнер из существующего образа Docker, вручную изменив среду контейнера с помощью серии активных шагов и сохранив полученное состояние как новый образ.


  • Dockerfile: путем создания текстового файла, известного как Dockerfile, который предоставляет спецификации для создания образа Docker.


С физической точки зрения docker image состоит из набора слоев, доступных только для чтения (read-only layers). Слои image работают следующим образом:

Читайте также: