Docker

Seadistage Dockeriga LAMP-server

Seadistage Dockeriga LAMP-server
Selles artiklis näitan teile, kuidas kasutada Docker Compose'i LAMP-serveri loomiseks PHP veebiarenduseks. Alustame siis.

Nõuded:

Selle artikli järgimiseks peab teie arvutisse olema installitud Docker. LinuxHintil on palju artikleid, mida saate järgida Dockeri installimiseks soovitud Linuxi jaotisse, kui te pole seda veel installinud. Seega kontrollige kindlasti LinuxHinti.com juhul, kui teil on probleeme Dockeri installimisega.

Docker Compose'i installimine:

Docker Compose binaarfaili saate järgmise käsuga hõlpsalt alla laadida:

$ sudo curl -L "https: // github.com / docker / compose / releases / download / 1.24.1 /
docker-compose - $ (uname -s) - $ (uname -m) "-o / usr / local / bin / docker-compose

MÄRGE: lokkima ei pruugi teie Linuxi distributsiooni installida. Sel juhul saate curli installida järgmise käsuga:

Ubuntu / Debian / Linux Mint:

$ sudo apt install curl -y

CentOS / RHEL / Fedora:

$ sudo dnf install curl -y

Ükskord dokk-komponeerima binaarfail on alla laaditud, käivitage järgmine käsk:

$ sudo chmod + x / usr / local / bin / docker-compose

Nüüd kontrollige, kas dokk-komponeerima käsk töötab järgmiselt:

$ docker-compose versioon

See peaks printima versiooni teabe, nagu on näidatud alloleval ekraanipildil.

Dockeri kirjutamise seadistamine projekti jaoks:

Nüüd looge projekti kataloog ~ / dokk / lamp (ütleme nii) ja a HTML / projekti kataloogis olev kataloog veebisaidi failide hoidmiseks (st.e. php, html, css, js jne.) järgnevalt:

$ mkdir -p ~ / docker / lamp / html

Nüüd navigeerige projekti kataloogi ~ / dokk / lamp järgnevalt:

$ cd ~ / dokk / lamp

Loo php.Dockerfile projekti kataloogis ~ / dokk / lamp. See on Dockerfile, mis võimaldab mysqli ja PDO php laiendusi php: 7.4.3-apache pilt Docker Hubist ja ehitab sellest kohandatud Dockeri pildi.

Programmi sisu php.Dockerfile on toodud allpool.

PHP-st: 7.4.3-apache

JOOKSU

docker-php-ext-installi mysqli pdo pdo_mysql

Nüüd looge a dokk-komponeerima.yaml fail projekti kataloogis ~ / dokk / lamp ja tippige järgmistesse ridadesse dokk-komponeerima.yaml faili.

versioon: "3.7 "
teenused:
veebiserver:
ehitada:
dockerfile: php.Dockerfile
Sisu: .
taaskäivitage: alati
mahud:
- "./ html /: / var / www / html / "
sadamad:
- "8080: 80"
mysql-server:
pilt: mysql: 8.0.19
taaskäivitage: alati
keskkond:
MYSQL_ROOT_PASSWORD: saladus
mahud:
- mysql-data: / var / lib / mysql
phpmyadmin:
pilt: phpmyadmin / phpmyadmin: 5.0.1
taaskäivitage: alati
keskkond:
PMA_HOST: mysql-server
PMA_USER: juur
PMA_PASSWORD: saladus
sadamad:
- "5000: 80"
mahud:
mysql-data:

The dokk-komponeerima.yaml fail peaks välja nägema järgmiselt.

Siin olen loonud 3 teenust veebiserver, mysql-server ja phpmyadmin.

veebiserver teenus käivitab kohandatud Dockeri pildi, nagu on määratletud php.Dockerfile.

mysql-server teenus töötab mysql: 8.0.19 pilt (DockerHubilt) Dockeri konteinerisse.

phpmyadmin teenus töötab phpmyadmin / phpmyadmin: 5.0.1 pilt (DockerHubilt) teises Dockeri konteineris.

Sisse mysql-server teenus MYSQL_ROOT_PASSWORD keskkonnamuutujat kasutatakse juur MySQL-i parool.

Sisse phpmyadmin teenus PMA_HOST, PMA_USER, PMA_PASSWORD keskkonnamuutujaid kasutatakse vastavalt MySQL-i hostinime, kasutajanime ja parooli määramiseks, mida phpMyAdmin kasutab ühenduse loomiseks MySQL-i andmebaasiserveriga mysql-server teenus.

Sisse mysql-server teenuse kogu sisu / var / lib / mysql kataloog salvestatakse püsivalt kataloogi mysql-data helitugevus."

Aastal veebiserver teenus, konteiner sadam 80 (paremal) on kaardistatud Dockeri hostisadamasse 8080 (vasakul)."

Aastal phpmyadmin teenus, konteiner sadam 5000 (paremal) on kaardistatud Dockeri hostisadamasse 80 (vasakul).

Looge ka a indeks.php faili HTML / kataloog LAMP-serveri testimiseks.

Programmi sisu indeks.php toimik minu puhul,

$ host = "mysql-server";
$ kasutaja = "juur";
$ pass = "saladus";
$ db = "rakendus1";
proovige
$ conn = uus kaitstud päritolunimetus ("mysql: host = $ host; dbname = $ db", $ kasutaja, $ pass);
$ conn-> setAttribute (KPN :: ATTR_ERRMODE, KPN :: ERRMODE_EXCEPTION);
 
kaja "Ühendamine õnnestus";
saak (PDOException $ e)
kaja "Ühendus nurjus:" . $ e-> getMessage ();

?>

Lõpuks projekti kataloog ~ / dokk / lamp peaks välja nägema järgmine:

LAMP-serveri käivitamine:

Nüüd, et alustada veebiserver, mysql-server ja phpmyadmin teenused, käivitage järgmine käsk:

$ docker-compose up -d

Kõik teenused peaksid algama taustal.

Pordide kaardistamise nägemiseks käivitage järgmine käsk:

$ docker-compose ps

Nagu näete, veebiserver teenus, Dockeri hostisadam 8080 on kaardistatud konteineri TCP-porti 80.

Jaoks phpmyadmin teenus, Dockeri hostisadam 5000 on kaardistatud konteineri TCP-porti 80.

Dockeri hosti IP-aadressi leidmine:

Kui soovite LAMP-serverile juurde pääseda teistest võrgu arvutitest, peate teadma oma Dockeri hosti IP-aadressi.

Dockeri hosti IP-aadressi leidmiseks käivitage järgmine käsk:

$ ip

Minu puhul minu Dockeri hosti IP-aadress 192.168.20.160. Teie jaoks on see erinev. Niisiis, asendage see edaspidi kindlasti oma omaga.

LAMP-serveri testimine:

Nüüd pääsete veebibrauserilt juurde phpMyAdmin 5-le ja veebiserverile.

PhpMyAdmin 5-le juurdepääsu saamiseks avage veebibrauser ja külastage oma Dockeri hosti kaudu veebiaadressi http: // localhost: 5000 või minge aadressile http: // 192.168.20.160: 5000 mis tahes muust võrgus olevast arvutist.

phpMyAdmin 5 peaks laadima teie veebibrauserisse.

Nüüd looge rakendus1 MySQL andmebaas phpMyAdminilt.

Nüüd külastage oma Dockeri hostilt aadressi http: // localhost: 8080 või http: // 192.168.20.160: 8080 veebiserverile juurdepääsu saamiseks mis tahes muust teie võrgu arvutist.

Peaksite nägema Ühendamine õnnestus sõnum. See tähendab, et PHP töötab ja MySQL-i andmebaasiserverile pääseb juurde veebiserver konteiner. Nii et tehniliselt on LAMP-server täiesti töökorras.

LAMP-serveri peatamine:

Selle peatamiseks veebiserver, mysql-server ja phpmyadmin teenused, käivitage järgmine käsk:

$ docker-compose down

The veebiserver, mysql-server ja phpmyadmin teenused tuleks lõpetada.

MySQL-serveri andmete puhastamine:

Kui soovite eemaldada kõik MySQL-i andmebaasi andmed ja sätted, peate selle eemaldama mysql-data helitugevus.

Köite tegeliku nime leiate järgmise käsuga:

$ dockeri maht ls

Saate helitugevuse eemaldada lamp_mysql-data järgmise käsuga:

$ dockeri maht rm lamp_mysql-data

Nii seadistate Dockeriga LAMP-serveri. Täname selle artikli lugemise eest.

Nagu näete, on eemaldatav maht lamp_mysql-data.

Parimad Linuxi käsurea mängud
Käsurida pole Linuxi kasutamisel lihtsalt teie suurim liitlane - see võib olla ka meelelahutusallikas, sest saate seda kasutada paljude lõbusate mängu...
Parimad Linuxi mängupuldi kaardistamise rakendused
Kui teile meeldib mängida Linuxis mänge tavalise klaviatuuri ja hiire sisestussüsteemi asemel mängupuldiga, on teie jaoks mõned kasulikud rakendused. ...
Kasulikud tööriistad Linuxi mängijatele
Kui teile meeldib Linuxis mänge mängida, on tõenäoline, et olete mängukogemuse parandamiseks kasutanud selliseid rakendusi ja utiliite nagu Wine, Lutr...