Как узнать версию docker compose linux
Мы рассмотрим процесс установки 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 - это инструмент, который позволяет определять многоконтейнерные приложения 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 работают следующим образом:
Читайте также: