Šiame straipsnyje aptarsime, kaip įdiegti Nginx naudojant Docker Compose hosto serveryje ir sukonfigūruoti jį taip, kad būtų galima peržiūrėti index.html failą naršyklėje per 9999 prievadą.
Docker ir Docker Compose diegimas
Prieš pradėdami, įsitikinkite, kad jūsų hosto serveryje yra įdiegti Docker ir Docker Compose. Jei jie dar nėra įdiegti, galite juos įdiegti, vadovaudamiesi instrukcijomis Docker Centos 7 ir Ubuntu 20.04 bei Docker Compose.
Index.html failo kūrimas hosto serveryje
Pirmiausia reikia sukurti index.html failą hosto serveryje. Naudosime jį Nginx demonstravimui, kai paleisime jį Docker konteineryje. Šį failą galite sukurti bet kurioje vietoje hosto serveryje, kur turite rašymo teises. Šiame pavyzdyje sukursime jį kataloge /var/www/html.
Vykdykite šią komandą, kad sukurtumėte katalogą ir pereitumėte į jį:
mkdir -p /var/www/html && cd /var/www/html
Sukurkime index.html failą
vim index.html
Įterpkime į jį žemiau pateiktą kodą:
<!DOCTYPE html>
<html>
<head>
<title>Hello, Nginx!</title>
</head>
<body>
<h1>Hello, Nginx!</h1>
<p>This is a test page served by Nginx in a Docker container.</p>
</body>
</html>
Išsaugokite failą bet kurioje jums patogioje vietoje hosto serveryje. Šiame pavyzdyje išsaugosime failą kataloge /var/www/html.
Docker-compose.yaml failo kūrimas
Reikia sukurti docker-compose.yaml failą, kuriame apibrėžiamas Nginx konteineris ir jo konfigūracija. Šį failą galite sukurti bet kurioje vietoje hosto serveryje, kur turite rašymo teises. Šiame pavyzdyje sukursime jį kataloge /opt/nginx.
Vykdykite šią komandą, kad sukurtumėte katalogą ir failą:
mkdir -p /opt/nginx && cd /opt/nginx
vim /opt/nginx/docker-compose.yaml
Pridėkite šį turinį į docker-compose.yaml failą:
version: '3'
services:
nginx:
image: nginx:latest
ports:
- "9999:80"
volumes:
- /var/www/html:/usr/share/nginx/html
restart: always
Kur:
services - apibrėžia paslaugų sąrašą, kurias norime paleisti naudojant Docker Compose.
nginx - yra paslaugos pavadinimas, kurią norime paleisti.
image - apibrėžia Docker atvaizdą, kurį norime naudoti. Šiuo atveju naudojame oficialų Nginx atvaizdą, pažymėtą latest žyma.
ports - apibrėžia prievadų susiejimą tarp hosto mašinos ir konteinerio. Šiuo atveju susiejame 9999 prievadą hosto mašinoje su 80 prievadu konteineryje.
volumes - apibrėžia tūrį, kurį norime naudoti duomenų saugojimui konteineryje. Šiuo atveju montuojame katalogą /var/www/html hosto mašinoje į katalogą /usr/share/nginx/html konteineryje.
restart - apibrėžia, ar Docker turėtų automatiškai paleisti konteinerį iš naujo, jei jis sustoja. Šiuo atveju nurodome, kad konteineris visada turėtų būti paleidžiamas iš naujo.
Docker Compose paleidimas
Dabar esame pasiruošę paleisti Nginx konteinerį naudojant Docker Compose. Tam vykdykite šią komandą iš katalogo, kuriame yra docker-compose.yaml failas:
docker-compose up -d
Ši komanda paleis Nginx konteinerį fone ir išves jo ID.
Patikrinti, ar konteineris paleistas, galite komanda:
docker-compose ps
Nginx veikimo patikrinimas
Dabar galime patikrinti Nginx veikimą, atidarydami interneto naršyklę ir eidami į adresą http://<hosto serverio adresas>:9999. Mūsų pavyzdyje tai bus http://IP:9999.
Jei viskas sukonfigūruota teisingai, turėtumėte matyti puslapį "Hello, Nginx!".
Tai viskas! Dabar galite naudoti Docker Compose Nginx ir kitų programų konteinerių valdymui jūsų hosto serveryje.
Taip pat siūlome kitų naudingų straipsnių:
- List of important commands for working with Docker-compose
- How to install Nginx in Docker-Compose
- How to Deploy Any Version of PHP in Docker-Compose