Docker Compose для веб-разработки

Автор Nikita Stoianov
Docker Compose для веб-разработки

предыдущем видео по docker.io показывал как создавать их собирать образы, а также.

Как запускать на их основе контейнера вы могли заметить, что для запуска и выключения контейнеров надо вводить много что. Следовательно занимает много времени на эту проблему решить docker-compose docker compose — это инструмент для конфигурации и запуска мультик контейнерных приложений на docker используют yaml File для настройки сервиса приложения и выполняет процесс создания и запуска контейнера с помощью одной команды вообще docker-compose очень сильно упрощает деплой приложений на сервер. Но больше всего мне нравится то, что он очень сильно упрощает работу в команде.

Объясню почему.

Представьте, что вам надо разработать сайт backend работает на PHP mysql redis JS ваша. Команда состоит из трёх человек 1 г коньяка и 2 фронтендеров установлена Ubuntu у первого Frontera. Максакова 2 Frontera Windows и теперь всех троих надо подружить между собой потому, что всем надо установить PHP mysqli is Now для сборки View is конфигурировать, что так чтобы адекватно. Работала как правило такой подход вызывает очень много проблем и развертывание проекта. Может затянуться на очень длительное время. Особенно если вам надо использовать какие-то конкретные версии софта, но ситуация кардинально меняет docker и docker compose вы просто один раз конфигурировать яму файл после чего разработчик клонировать проект git репозитория запускает одну команду docker-compose Up и всё необходимое окружение для проекта установится без каких-либо проблем и в считанные минуты. Теперь давайте на практике как всё — это работает будем создавать сайт на PHP и mysql первым делом установить утилиту docker-compose. Если вы используете docker для Windows или Mac OS то скорее всего она уже установлена если. Используйте какое-то Linux дистрибутив вам придётся и установить переходим на сайт Docs docker com нажимаем продукции Mondial docker-compose Install Compass Linux исследование инструкция по установке после установки приступаем к созданию и конфигурации нашего проекта проект будет иметь следующую структуру создаем папку с проектом создаем docker-compose.yml создаем папки для контейнеров теперь создаем докер файл в папку Map открываем всю папку с проектом в редакторе редактируем докер файл в контейнере об сейчас я не буду комментировать. Какая инструкция. За, что отвечает если что-то непонятно то посмотрите предыдущее видео по docker создаем в папку infrastructure с конфигом для. Винкс я скопирую и вставлю готовый конфиг для. КС Чтобы не терять время все файлы видео находятся на моём гитхаб ссылку на него можно найти в описании под видео продолжаем редактировать docker File теперь нам надо создать контейнер с mysql на перед созданием надо как будет создаваться структура базы данных при первом запуске морские контейнера. Давайте перейдем на официальный образ и посмотрим как мы можем — это сделать переходим в каком заводе mysql ищем пункт ениши losing Friends здесь написано, что инициализации базы контейнер будет запускать SH или sql.gz файлы которые находятся в папке docker entrypoint initdb поэтому мы можем создать свой SQL файл который будет создавать структуру базы данных при первом запуске теперь вейп создаем папку C и файл index.php редактировать index.php теперь после всех подготовительных моментов начнем редактировать docker-compose открываем файл указанном версию нашего конфига секции Services начинаем опис. Как запускать наши контейнеры настраиваем SQL указан имя нашему контейнеру секции и указываем. Какой образ мы будем использовать секции энвайронмент объявляем переменные среды в секции в указанном какие директории на локальной машине контейнер настроен контейнер сунженский PHP если надо запустить контейнер с помощью образа которые находятся не в регистре на локальной машине с помощью секции Build секции Build указываем контексте сборки пути к тексту можно указывать относительно да с файла секции партс указываем перенаправление портов помощью секция depends on указано, что этот контейнер надо запускать только после того как запуститься контейнер в. Москве вы могли заметить, что я здесь не описываю создание Network потому, что он сам по умолчанию также мы могли заметить, что этот config очень похоже на то как мы с вами запускаем контейнеры с помощью села только отличия в том, что мы написали этот конфликт один раз и теперь можно все контейнеры одной строчкой docker-compose Up слова из слова Build запускаем проверяем состояние контейнеров и проверяем работу сайта в браузере всё работает для того чтобы выключить контейнеры надо также написать всего одну команду docker-compose Down проект заработал разработчика в вашей команде. Им просто надо будет клонировать его себе на компьютер и запустить команду docker-compose Up после чего все необходимые контейнеры будут сами собираться и кататься. Скорее всего когда-то вы будете разворачивать проект на сервере и в целях безопасности вы захотите чтобы пароль к базе данных был не секрет, а какой-то такой, но при этом на машине он остался секрет эту проблему поможет решить файл с переменными среды по умолчанию docker-compose ищет в директории рядом с yaml config файл который называется Dota и берётся него эти самые переменные. Давайте на практике покажу как — это выглядит создаем файл.

0 комментариев
0

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