Krav:
For å følge denne artikkelen, må du ha Docker installert på datamaskinen din. Linuxhint har mange artikler som du kan følge for å installere Docker på ønsket Linux -distribusjon hvis du ikke har den installert allerede. Så husk å sjekke Linuxhint.com i tilfelle du har problemer med å installere docker.
Installere Docker Compose:
Du kan laste ned Docker Compose Binary File veldig enkelt med følgende kommando:
$ sudo curl -l "https: // github.com/docker/kompose/utgivelser/nedlasting/1.24.1/
Docker-Compose-$ (Uname -s)-$ (Uname -m) "-o/usr/local/bin/docker-compose
MERK: krøll kan ikke installeres på Linux -distribusjonen din. Hvis det er tilfelle, kan du installere Curl med følgende kommando:
Ubuntu/Debian/Linux Mint:
$ sudo apt install curl -y
Centos/RHEL/Fedora:
$ sudo dnf install curl -y
En gang Docker-Compose Binærfil lastes ned, kjør følgende kommando:
$ sudo chmod +x/usr/local/bin/docker-compose
Nå, sjekk om Docker-Compose Kommandoen fungerer som følger:
$ Docker-Compose-versjon
Den skal skrive ut versjonsinformasjonen som vist på skjermdumpen nedenfor.
Sette opp Docker -komponering for prosjektet:
Lag nå en prosjektkatalog ~/docker/lampe (La oss si) og en html/ Katalog i prosjektkatalogen for å holde nettstedfilene (i.e. PHP, HTML, CSS, JS etc.) følgende:
$ mkdir -p ~/docker/lamp/html
Naviger nå til prosjektkatalogen ~/docker/lampe følgende:
$ cd ~/docker/lampe
Lage en PHP.Dockerfile I prosjektkatalogen ~/docker/lampe. Dette er en Dockerfile som muliggjør MySQLI og PDO PHP -utvidelser i PHP: 7.4.3-Apache Bilde fra Docker Hub og bygger et tilpasset Docker -bilde fra det.
Innholdet i PHP.Dockerfile er gitt nedenfor.
Fra PHP: 7.4.3-ApacheLØPE
Docker-php-ext-install mysqli pdo pdo_mysqlNå, lage en Docker-Compose.Yaml fil i prosjektkatalogen ~/docker/lampe og skriv inn følgende linjer i Docker-Compose.Yaml fil.
Versjon: "3.7 "De Docker-Compose.Yaml filen skal se ut som følger.
Her har jeg opprettet 3 tjenester Internett server, mysql-server og phpmyadmin.
Internett server Tjenesten vil kjøre et spesialbygget Docker-bilde som definert i PHP.Dockerfile.
mysql-server tjenesten vil kjøre MySQL: 8.0.19 Bilde (fra Dockerhub) i en Docker -beholder.
phpmyadmin tjenesten vil kjøre phpmyadmin/phpmyadmin: 5.0.1 Bilde (fra Dockerhub) i en annen Docker -container.
I mysql-server Service, The Mysql_root_password miljøvariabel brukes til å stille inn rot Passord for MySQL.
I phpmyadmin Service, The PMA_HOST, PMA_USER, PMA_PASSWORD Miljøvariabler brukes til å angi henholdsvis MySQL -vertsnavn, brukernavn og passord som phpmyAdmin vil bruke for å koble til MySQL -databaseserveren som kjører som mysql-server service.
I mysql-server service, alt innholdet i /var/lib/mysql Katalogen vil bli lagret permanent i mysql-data volum.'
I Internett server Service, containerporten 80 (til høyre) er kartlagt til Docker -vertsporten 8080 (venstre).'
I phpmyadmin Service, containerporten 5000 (til høyre) er kartlagt til Docker -vertsporten 80 (venstre).
Også lage en indeks.PHP fil i html/ Katalog for testing av LAMP -serveren.
Innholdet i indeks.PHP fil i mitt tilfelle,
$ host = "mysql-server";Endelig prosjektkatalogen ~/docker/lampe skal se ut som følger:
Starter lampeserveren:
Nå, for å starte Internett server, mysql-server og phpmyadmin Tjenester, kjør følgende kommando:
$ docker -compose up -d
Alle tjenestene skal starte i bakgrunnen.
For å se hvordan portene er kartlagt, kjør følgende kommando:
$ Docker-Compose Ps
Som du kan se, for Internett server Service, Docker Host Port 8080 er kartlagt til containeren TCP -port 80.
For phpmyadmin Service, Docker Host Port 5000 er kartlagt til containeren TCP -port 80.
Finne IP -adressen til Docker -vert:
Hvis du vil få tilgang til LAMP -serveren fra andre datamaskiner i nettverket ditt, må du kjenne IP -adressen til Docker -verten din.
For å finne IP -adressen til Docker -verten din, kjør følgende kommando:
$ ip
I mitt tilfelle er IP -adressen til Docker -verten min 192.168.20.160. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.
Testing av lampeserveren:
Nå kan du få tilgang til PHPMyAdmin 5 og webserveren fra en nettleser.
For å få tilgang til phpmyadmin 5, åpne en nettleser og besøk http: // localhost: 5000 fra Docker -verten din eller besøk http: // 192.168.20.160: 5000 fra hvilken som helst annen datamaskin i nettverket.
phpmyadmin 5 bør laste inn nettleseren din.
Nå, lage en APP1 Mysql -database fra phpmyadmin.
Nå, besøk http: // localhost: 8080 fra Docker -verten din eller http: // 192.168.20.160: 8080 fra hvilken som helst annen datamaskin på nettverket ditt for å få tilgang til webserveren.
Du burde se Tilkoblet vellykket beskjed. Det betyr, PHP fungerer og MySQL -databaseserveren er tilgjengelig fra Internett server container. Så teknisk sett er lampeserveren fullt funksjonell.
Stopper lampeserveren:
Å stoppe Internett server, mysql-server og phpmyadmin Tjenester, kjør følgende kommando:
$ Docker-Compose Down
De Internett server, mysql-server og phpmyadmin Tjenester bør stoppes.
Rengjøring av MySQL Server -data:
Hvis du vil fjerne alle MySQL -databasedataene og innstillingene, må du fjerne mysql-data volum.
Du kan finne det faktiske navnet på volumet med følgende kommando:
$ docker volum ls
Du kan fjerne volumet lamp_mysql-data med følgende kommando:
$ docker volum rm lamp_mysql-data
Så det er slik du setter opp en lampeserver med Docker. Takk for at du leste denne artikkelen.
Som du kan se, er volumet du skal fjerne lamp_mysql-data.