ПредишенСледващото

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-Ново, състояща се от четири контейнери.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!