Si të ekzekutoni PHPMyAdmin në një kontejner Docker


PHPMyAdmin është një ndërfaqe popullore e administrimit për bazat e të dhënave MySQL dhe MariaDB. Kjo ju lejon të ndërveproni me skemat, tabelat dhe të dhënat tuaja duke përdorur një shfletues ueb.

Projekti ka një imazh zyrtar Docker i cili thjeshton vendosjen në mjedise me kontejnerë. Ja se si të përdorni imazhin për të ekzekutuar shpejt një shembull të ri PHPMyAdmin.

Përdorimi bazë

Instalimi më i thjeshtë lejon që një kontejner PHPMyAdmin të lidhet me çdo server të aksesueshëm të bazës së të dhënave:

docker run -d --name phpmyadmin -e PMA_ARBITRARY=1 -p 8080:80 phpmyadmin

Kjo komandë fillon PHPMyAdmin në portin 8080. Vizitoni localhost:8080 në shfletuesin tuaj për të parë ekranin e hyrjes. Prania e ndryshores së mjedisit PMA_ARBITRARY rezulton në shfaqjen e një formulari të lidhjes së serverit. Specifikoni kredencialet e hostit dhe të përdoruesit të bazës së të dhënave MySQL ose MariaDB për t'u identifikuar.

Kur përdorni këtë metodë, normalisht do të shihni një paralajmërim PHPMyAdmin se disa veçori të zgjeruara janë çaktivizuar. Kjo ndodh kur serveri me të cilin jeni lidhur nuk ka bazë të dhënash të quajtur phpmyadmin. PHPMyAdmin përdor këtë skemë për të ruajtur të dhënat e veta të konfigurimit.

Ndiqni lidhjen e paralajmërimit te Krijo një bazë të dhënash për të përfunduar instalimin. Llogaria juaj e përdoruesit do të ketë nevojë për leje për të krijuar baza të reja të dhënash në server.

Paracaktimi i një serveri

Si një alternativë për lejimin e aksesit arbitrar, mund të nisni kontejnerin PHPMyAdmin me një lidhje të parakonfiguruar serveri. Jepni variablat e mjedisit PMA_HOST dhe PMA_PORT në vend të PMA_ARBITRARY:

docker run -d --name phpmyadmin -e PMA_HOST=mysql.example.com -e PMA_PORT=33060 -p 8080:80 phpmyadmin

PMA_PORT është opsionale. Ai do të përdorë parazgjedhjen e MySQL të 3306 kur nuk jepet asnjë vlerë.

Nisja e kontejnerit me këto variabla do të kufizojë PHPMyAdmin të punojë me serverin mysql.example.com. Do t'ju kërkohet një emër përdoruesi dhe fjalëkalim në ekranin e hyrjes, por nuk do t'ju duhet të jepni një emër hosti.

PHPMyAdmin gjithashtu mund të konfigurohet për të paraqitur opsione të shumta të serverit. Siguroni PMA_HOSTS dhe PMA_PORTS si lista lidhjesh të ndara me presje për të mundësuar këtë funksion.

Duke përdorur një kontejner MySQL Docker

Një rast tjetër i zakonshëm i përdorimit është lidhja me një server MySQL ose MariaDB që funksionon në një enë të veçantë Docker. Mund të ekspozoni serverin e bazës së të dhënave në një port ose të lidhni të dy kontejnerët me një rrjet të përbashkët Docker. Në secilin rast, përdorni variablat e mjedisit PMA_HOST dhe PMA_PORT do të udhëzojnë PHPMyAdmin se si të lidhet me serverin.

Lidhjet e Docker-it të trashëgimisë mbështeten gjithashtu:

docker run -d --name phpmyadmin --link my_mysql_container:db -p 8080:80 phpmyadmin

Kjo komandë ju lejon të lidhni PHPMyAdmin me kontejnerin my_mysql_container pa konfiguruar manualisht lidhjet e rrjetit. Ky funksionalitet është i vjetëruar në Docker edhe pse kalimi në komandat e rrjetit është i preferueshëm:

docker network create phpmyadmin
docker network connect phpmyadmin mysql_container_name --ip 172.17.0.1
docker network connect phpmyadmin phpmyadmin_container_name

Si alternativë, mund të nisni PHPMyAdmin me një lidhje të parakonfiguruar rrjeti duke përdorur flamurin --network të Docker:

docker run -d --name phpmyadmin --network phpmyadmin -p 8080:80 phpmyadmin

Tani PHPMyAdmin do të jetë në gjendje të arrijë në kontejnerin MySQL përmes rrjetit të përbashkët. Cakto ndryshoren e mjedisit PMA_HOST172.17.0.1 kur nis kontejnerin.

Thjeshtimi i vendosjes me Docker Compose

Shkrimi i një skedari Docker Compose thjeshton vendosjet jo të parëndësishme. Ju mund të shfaqni një kontejner të ri PHPMyAdmin në një mënyrë të përsëritshme duke përdorur komandën docker-compose up -d.

Këtu është një docker-compose.yml për PHPMyAdmin në modalitetin e lidhjes arbitrare:

version: "3"

services:
  phpmyadmin:
    image: phpmyadmin:latest
    ports:
        - 8080:80
    environment:
        - PMA_ARBITRARY=1
    restart: unless-stopped

Docker Compose gjithashtu ju ndihmon të krijoni një pirg me një instalim të ri të bazës së të dhënave MySQL dhe një kontejner PHPMyAdmin:

version: "3"

service:
  mysql:
    image: mysql:latest
    expose:
      - 3306
    environment:
      - MYSQL_ROOT_PASSWORD
    volumes:
      - mysql:/var/lib/mysql
    restart: unless-stopped
  phpmyadmin:
    image: phpmyadmin:latest
    ports:
      - 8080:80
    environment:
      - PMA_HOST: mysql
      - PMA_PASSWORD: ${MYSQL_ROOT_PASSWORD}
    restart: unless-stopped

volumes:
  - mysql

Ekzekutoni docker-compose up -d për të shfaqur MySQL me një kontejner PHPMyAdmin plotësisht të lidhur në rrjet. Ndryshorja PMA_HOST e PHPMyAdmin është vendosur në mysql, duke iu referuar emrit të shërbimit MySQL. Docker Compose vendos automatikisht emrat e hosteve që të përputhen me emrat e shërbimeve, duke lejuar PHPMyAdmin të lidhet me MySQL duke përdorur rrjetin e përbashkët.

Konfigurimi i instalimit

Imazhi PHPMyAdmin Docker mbështet një skedar konfigurimi të dhënë nga përdoruesi që mund ta injektoni nëpërmjet një vëllimi Docker. Rruga është /etc/phpmyadmin/config.user.inc.php:

docker run -d 
    --name phpmyadmin 
    -e PMA_ARBITRARY=1 
    -p 8080:80 
    -v my-config-file.php:/etc/phpmyadmin/config.user.inc.php
    phpmyadmin

Mund të shtoni cilindo nga variablat e konfigurimit të mbështetur nga PHPMyAdmin.

Imazhi gjithashtu mbështet variablat e mjedisit për shumë cilësime të zakonshme. Këto përfshijnë MEMORY_LIMIT, UPLOAD_LIMIT dhe MAX_EXECUTION_TIME, secila prej të cilave korrespondon me vlerat PHP INI që mund të kenë nevojë të rregullohen nëse jeni duke përdorur gjatë- pyetje të ekzekutuara ose të komplikuara.

Vlerat e ndjeshme, të tilla si PMA_HOST, PMA_PASSWORD dhe MYSQL_ROOT_PASSWORD, mund të injektohen duke përdorur sekretet Docker në vend të variablave të thjeshtë të mjedisit. Shtojini _FILE emrit të ndryshores, më pas vendosni vlerën në një shteg brenda kontejnerit që jep vlerën aktuale.

docker run -d --name phpmyadmin -e PMA_HOST_FILE=/run/secrets/pma_host -p 8080:80 phpmyadmin

Përmbledhje

PHPMyAdmin është një nga shërbimet më të njohura dhe më të njohura të administrimit të MySQL. Instalimi me metal të zhveshur shton disa varësi në sistemin tuaj, duke bashkuar Apache dhe PHP së bashku me kodin burimor të aplikacionit.

Instalimi i PHPMyAdmin në Docker ju jep një mjedis të izoluar që mund të krijohet, zëvendësohet dhe fshihet duke përdorur një sërë komandash Docker CLI. Imazhi zyrtar mund të lidhet me çdo server MySQL që është i aksesueshëm nga hosti juaj, duke përfshirë bazat e të dhënave që funksionojnë në kontejnerë të tjerë Docker.

Udhëzime më të hollësishme për ekzekutimin dhe përdorimin e PHPMyAdmin mund të gjenden në dokumentacionin zyrtar. Është veçanërisht e rëndësishme të rishikoni udhëzuesin e sigurisë në mënyrë që të mos e lini pa dashje bazën tuaj të të dhënave në rrezik nga sulmet e jashtme. Ju gjithashtu duhet të merrni parasysh praktikat më të mira të sigurisë Docker kur vendosni PHPMyAdmin brenda një kontejneri që është i ekspozuar ndaj botës së jashtme.


Të gjitha të drejtat e rezervuara. © Linux-Console.net • 2019-2024