Docker-Compose - инструмент за командния ред, за да се определи и да се контролира няколко приложения мулти-Docker контейнери. В действителност, Написване на сценарий в Python, може да се инсталира лесно с помощта на пип команда (команда за инсталиране на софтуер на Python Python от пакет хранилище). Благодарение на Съставете, можете да стартирате множество Docker-цистерни с една единствена команда. Това ще позволи да се създаде контейнер като услуга, която е идеална за разработване и изпитване, както и за проблемите на реалния свят.
Ще разберете как да използвате Docker-съставяте да създаде LEMP стак. Смята се, че LEMP - това е Linux + Nginx + MySQL + PHP. Всеки компонент ще бъде пуснат в собствен контейнер на докер е.
- Nginx контейнер,
- PHP контейнер,
- PhpMyAdmin контейнер
- MySQL / MariaDB контейнер.
- Ubuntu сървър 16.04-64 малко
- корен привилегии
Стъпка 1 - Определете Docker
На този етап е необходимо да се постави докер. Docker е наличен в хранилищата на Ubuntu, но първо трябва да се актуализира състоянието:
Инсталирайте най-новата версия на докер от хранилището Ubuntu.
Изпълнете Docker и да го превърне в стартиране:
Сега Docker услуга се изпълнява. На следващо място, можете да се опитате да стартирате Docker използване екипа на изпитването:
В резултат на това ще се вижда в докер на конзолата поздрав
Стъпка 2 - Инсталиране Docker-Съставете
В първия етап тя е създадена Docker. Сега би трябвало да инсталирате Docker-Съставете. Имаме нужда от питон-пип да инсталирате ново съобщение, така че трябва да инсталирате питон и питон-пип използване ап:
След като всичко е инсталиран, инсталирайте Docker-съставяте по този начин:
Сега се провери версията на докер-Съставете:
Ако е инсталирана Docker-ново съобщение на конзолата ще бъде видимо да докладва номера на версията.
Стъпка 3 - Създаване и конфигуриране на медии Docker
На този етап, ще трябва да изберете вашата среда Docker-Съставете. За да направите това, ние използваме нов потребител (не е корен), така че трябва да се създаде този потребител. Добавяне на нов потребител с име «Robocop задачите» (по-добре сами да избират потребителско име):
След това добавете нов потребител към групата «Docker» и рестартирайте докер.
Сега потребителското «Robocop» Docker може да се използва без да Sudo. Следваща от супер-потребител ще влезе в «Robocop» Виа су:
Създаване на нова директория, за да създадете ново съобщение среда.
Тя Docker-Съставете сряда, всички файлове ще бъдат в контейнер Docker трябва да бъде поставен в тази директория. Когато използваме Docker-съставяте, ние се нуждаем .yml файл с име "Docker-Compose.yml". Папката "lemp-интерфейс за нови", създаване на нови директории и файла "Docker -Compose.yml":
- Дневници: Продукт Nginx трупи
- Nginx: Nginx съдържа конфигурационни файлове, като например виртуални хостове и др
- публичния: директория за уеб файлове, index.html и PHP
- DB-данни: директорията на базата данни.
Създаване на файлове error.log и access.log влезете в "дневници" директория
Създаване на нов конфигурационен файл, който ще бъде виртуален хост конфигурация Nginx в «Nginx» папка:
Използвайте следните настройки:
Запазете файла. Създаване на нов файл index.html и PHP-файл в «обществена» папка.
Сега можете да видите структурата на директориите, като използвате командата:
Стъпка 4 - Определяне doker-compose.yml файл
В предишната стъпка, която сме създали директории и файлове, необходими за нашите контейнери. На този етап трябва да редактирате файла «doker-compose.yml на задачите». файл «doker-compose.yml» следва да бъде определен за услугата LEMP стека базови изображения за всеки контейнер, както и докер на силата на звука.
Ние изляза на потребителското «Robocop» и редактирате файла «doker-compose.yml»:
Nginx определи услугата, за която ние вмъкнете тази конфигурация:
В тази конфигурация, ние вече идентифицирани:
- Nginx: наименование на услугата
- изображение: използвайте «bitnami / Nginx»
- портове: отворен контейнер пристанищни 80 до пристанището домакин 80
- връзки: свързани контейнер «Nginx» и контейнер «phpfpm»
- тома: montiruev местните директории за контейнер (влезете, конфигуриране и виртуални уеб корен)
Ще дефинираме PHP-FPM услуга. Поставяне следната конфигурация блок Nginx:
Тук ние питаме:
- phpfpm: определите името на услугата
- изображение: Посочете основния образ за phpfpm на услугата по начин, «bitnami / phpfpm»
- портове: Изпълнение PHP-FPM на TCP порт 9000 и Prokin да порт 9000 на приемащата.
- тома: монтаж основната папка «обществена» към «MyApps» папка в контейнера.
Определяне на услугата MySQL
В третия блок трябва да се вмъкне конфигурация база данни MariaDB контейнер:
В този случай, ние питаме:
- MySQL: как името на услугата
- изображение: контейнер, базиран на образа на «mariadb»
- портове: контейнер услуга използва 3306 порт за свързване MySQL, ние сме го препрати порт 3306 на домакина.
- тома: DB-данни
- среда: Необходимо е да се определят променлива среда «MYSQL_ROOT_PASSWORD», задаване на администраторската парола
-Конфигуриране на PhpMyAdmin услуги
За последния блок вложка конфигурация по-долу:
Ние използваме Docker изображение «PhpMyAdmin», асоциирано контейнер порт 80 и порт 8080 на хоста, за да свържете контейнера към контейнера MariaDB, създаден, за да рестартирате винаги, се определят някои променливи на обкръжението, в това число «PMA_HOST».
Стъпка 5 - Започнете doker-ново съобщение
Сега ние сме готови да започнем doker-ново съобщение.
Моля, имайте предвид, че работи doker-ново съобщение, ще трябва да бъде в директорията на проекта doker-интерфейс за нови и определено имат конфигурация на файл YML.
Изпълнява команда по-долу, за да стартирате стека LEMP:
Опцията -d ви дава възможност да работи във фонов режим.
Новите контейнери са създадени, можете да ги проверите със следната команда:
Ние трябва да се види, че създадени четири контейнери с Nginx, PHP-FPM, MariaDB и PHPMyAdmin.
Етап 6 - Изпитване
Проверка на пристанища, използвани докер-пълномощник на хоста
На следващо място, ние можем да видим, че порт 80 е активиран за Nginx контейнерно пристанище 3306 за MariaDB контейнерно пристанище 9000 за PHP-FPM и порт 8080 за PhpMyAdmin контейнер. Апел към порт 80 от уеб браузър ви позволява да видите корен index.html по делото.
Уверете се, че PHP-FPM работи, обръщайки се към /info.php страница на вашия сървър.
От командния ред, можете да получите достъп до контейнера MySQL.
Можете да sozdayt нова база данни:
MariaDB контейнер жив, а ние създадохме нова база данни "robocop_db".
Освен това, за достъп до PHPMyAdmin обърнат към порт 8080 в браузър.
А за да въведете съответния PHPMyAdmin, можете да влезете като корен, с паролата "Робокоп 123". Може автоматично да са свързани към MySQL на контейнера, който е определен в променлива PMA_HOST.
Готово! LEMP стак работи Docker-Ново, състояща се от четири контейнери.
Свързани статии