Dockerizarea stivei de burete sub ubuntu folosind compose

Docker-Compose este un instrument de linie de comandă pentru definirea și gestionarea mai multor aplicații Docker multi-container. De fapt, Compune un script în Python, poate fi ușor de instalat folosind comanda pip (o comandă pentru a instala software-ul Python Python de la pachetul de depozit). Cu Compose, puteți rula mai multe containere Docker cu o singură comandă. Acest lucru vă va permite să creați un container ca serviciu, care este excelent atât pentru dezvoltare, cât și pentru testare, și pentru sarcinile din lumea reală.







Vom afla cum să folosim Docker-Compose pentru a crea un stack LEMP. Este în general acceptat faptul că LEMP este Linux + Nginx + MySQL + PHP. Fiecare componentă va fi lansată în containerul Docker.

  • container Nginx,
  • PHP container,
  • Conținutul phpMYADMIN
  • container MySQL / MariaDB.
  • Serverul Ubuntu 16.04-64 biți
  • Privilegii privilegiate

Pasul 1 - Instalați Docker-ul

În acest moment, trebuie să instalați Docker-ul. Docker-ul este disponibil în repozitoriul Ubuntu, dar mai întâi trebuie să actualizați starea:

Instalați cea mai recentă versiune a Docker din depozitul Ubuntu.

Porniți Docker-ul și activați-l la pornire:

Serviciul Docker este acum pornit. Apoi, puteți încerca să rulați Docker-ul utilizând comanda de test:

Ca urmare a execuției, veți vedea salutul Docker din consola

Pasul 2 - Instalați docul-compuneți

La prima etapă, Docker a fost instalat. Acum instalați Docker-Compose. Avem nevoie de python-pip pentru a instala compose, deci trebuie să instalăm python și python-pip cu apt:

Când totul este instalat, instalați Docker-Compose astfel:

Acum verificați versiunea de Docker-Compose:

Dacă este instalat Docker-Compose, consola va afișa raportul numărului de versiune.

Pasul 3 - Crearea și configurarea mediului de andocare

În acest moment, trebuie să configurați mediul Docker-Compose. Pentru aceasta folosim un nou utilizator (nu root), deci trebuie să creăm un astfel de utilizator. Adăugați un utilizator nou cu numele "robocop" (este mai bine să vă alegeți propriul nume de utilizator):

Apoi, adăugați un utilizator nou în grupul Docker și reporniți Docker-ul.

Acum, utilizatorul "robocop" poate folosi Docker fără sudo. Mai departe de sub super-utilizator vom intra în "robocop" prin su:

Creați un director nou pentru a crea mediul Compune.

Acesta este mediul Docker-Compose, toate fișierele care vor fi în containerul Docker trebuie să fie localizate în acest director. Când folosim Docker-Compose, avem nevoie de un fișier .yml numit "Docker-Compose.yml". În dosarul "lemp-compose", creați directoare noi și fișierul "Docker -Compose.yml":

  • bușteni: Magazin Catalog Nginx
  • Nginx: conține fișiere de configurare Nginx, cum ar fi fișierele gazdă virtuale etc.
  • public: director pentru fișiere web, index.html și PHP
  • DB-data: directorul bazei de date.






Creați fișiere jurnal error.log și access.log în directorul "jurnale"

Creați un nou fișier de configurare care va fi configurația gazdei virtuale nginx din dosarul "nginx":

Utilizați următoarele setări:

Salvați fișierul. Creați un nou fișier index.html și un fișier PHP în dosarul "public".

Acum puteți să vă uitați la structura directorului folosind comanda:

Pasul 4 - Configurarea fișierului doker-compose.yml

În pasul anterior, am creat directoarele și fișierele necesare pentru containerele noastre. În acest moment, trebuie să editați fișierul "doker-compose.yml". Fișierul «-doker compose.yml» ar trebui să fie definite pentru servicii de imagini de bază IEMT stivă pentru fiecare container, și docher de volum.

Mergem de sub userul "robocop" și editează fișierul "doker-compose.yml":

Definiți serviciul Nginx, pentru care introducem această configurație:

În această configurație am definit deja:

  • nginx: numele serviciului
  • imagine: utilizați "bitnami / nginx"
  • porturi: portul container 80 deschis la portul gazdă 80
  • link-uri: containerul "nginx" și containerul "phpfpm"
  • volumele: montați directoarele locale pentru container (configurație jurnal, director web virtual și root)

Definiți serviciul PHP-fpm. Introduceți setările sub blocul Nginx:

Aici ne întrebăm:

  • phpfpm: a definit numele serviciului
  • image: Definirea imaginii de bază pentru serviciul phpfpm cu imaginea "bitnami / php-fpm"
  • porturi: Rulați PHP-fpm pe portul TCP 9000 și plasați-l pe portul gazdă 9000.
  • volumele: montați directorul rădăcină "public" în dosarul "myapps" din container.

Definiția serviciului MySQL

În al treilea bloc, trebuie să introduceți configurația pentru containerul bazei de date MariaDB:

În acest caz, întrebăm:

  • MySQL: cum este numele serviciului
  • imagine: Containerul se bazează pe imaginea "mariadb"
  • porturi: containerul de servicii utilizează portul 3306 pentru a conecta MySQL, îl răsturnăm la portul 3306 al gazdei.
  • volume: db-date
  • environment: Trebuie să definiți variabila de mediu "MYSQL_ROOT_PASSWORD" specificând parola de root

-Configurarea serviciilor PHPMyAdmin

Pentru ultimul bloc, introduceți configurația de mai jos:

Noi folosim Docker-imagine «phpMyAdmin», container port asociat 80 și portul 8080 pe gazdă pentru a conecta containerul la container MariaDB, setat pentru a reporni întotdeauna, pentru a defini unele variabile de mediu, inclusiv «PMA_HOST».

Pasul 5 - Rulați docer-compose

Acum suntem pregătiți să conducem docer-compose.

Vă rugăm să rețineți că la rularea doker-scriere, va trebui să fie în directorul de proiect doker-scriere și cu siguranță au o configurație de fișier YML.

Rulați comanda de mai jos pentru a porni stiva LEMP:

Comutatorul -d vă permite să rulați în fundal.

Sunt create containere noi, astfel încât să le puteți verifica folosind următoarea comandă:

Ar trebui să vedem că sunt create patru containere cu Nginx, PHP-FPM, MariaDB și PHPMyAdmin.

Pasul 6 - Testarea

Verificarea porturilor utilizate de serverul proxy-server al gazdei

În continuare, putem vedea că portul 80 este activat pentru Nginx container port 3306 pentru MariaDB container port 9000 pentru PHP-FPM, și portul 8080 pentru PhpMyAdmin container. Accesarea portului 80 din browserul web vă va permite să vedeți index.html fișierul rădăcină.

Asigurați-vă că PHP-FPM funcționează accesând pagina /info.php de pe server.

Din linia de comandă, puteți accesa containerul MySQL.

Puteți crea o nouă bază de date:

Containerul MariaDB este live și am creat o nouă bază de date "robocop_db".

Apoi, pentru a accesa PHPMyAdmin, să ne uităm la portul 8080 din browser.

Se deschide pagina de conectare pentru phpMyAdmin, puteți introduce ca root, cu parola "robocop 123". Veți fi conectat automat la containerul mysql definit în variabila PMA_HOST.

Gata! Stackul LEMP rulează un docker-Compose, care constă din patru containere.







Articole similare

Trimiteți-le prietenilor: