Uvod
Općenito, Docker spremnici rade samo određeno vrijeme – onoliko koliko je potrebno za izvršavanje naredbe. Podacima koji su dostupni unutar spremnika može se pristupiti samo iz samog spremnika tijekom vremena njegova rada.
Docker volumeni se mogu koristiti za lakši pristup datotekama i njihovo pohranjivanje na duže razdoblje. Na primjer, ako imate Nginx web poslužitelj i želite pohraniti zapise za potrebe revizije, možete koristiti Docker volumen za pohranu zapisa iz spremnika na vaše glavno računalo.
U ovom vodiču naučit ćete kako dijeliti podatke između unutrašnjosti Docker spremnika i glavnog računala.
Preduvjeti
Za ovaj vodič trebat će vam sljedeći preduvjeti:
- Ubuntu 18.04 poslužitelj: Možete jednostavno stvoriti novi CloudSigma poslužitelj s Ubuntu 18.04 slikom, prateći naš koristan vodič.
- Docker – Možete instalirati Docker pomoću našeg vodiča o tome kako postaviti Docker na Ubuntuu i upoznati se s njim.
Korak 1 – Povezivanje (Bind Mount) volumena
Možete stvoriti direktorij pod nazivom logs u početnom direktoriju vašeg trenutnog korisnika i povezati ga (bind-mount) na /var/log/nginx u Nginx spremniku pomoću sljedeće naredbe:
|
1 |
docker run --name=nginx -d -v ~/logs:/var/log/nginx -p 5000:80 nginx |
Ovdje su detaljnije informacije o ovoj naredbi:
--name=nginxdaje naziv spremniku radi lakšeg snalaženja.-dargument odvaja proces i pokreće ga u pozadini.-v hostPath:containerPathmapira putanju glavnog računala i putanju spremnika za povezivanje.-p hostPort:containerPortargument mapira priključak spremnika na priključak glavnog računala.nginxna kraju retka je naziv slike koja bi se trebala koristiti za pokretanje spremnika.
Korak 2 – Pristup podacima na glavnom računalu
Sada imate Nginx spremnik koji radi na vašem poslužitelju, a priključak 5000 vašeg poslužitelja mapira se na priključak 80 Nginxa. Možete otvoriti priključak u web pregledniku sa sljedećim URL-om:
|
1 |
http://serverIP:5000/ |

U direktoriju ~/logs vidjet ćete datoteke access.log i error.log. Zapise možete vidjeti pomoću naredbe cat:
|
1 |
cat access.log |
|
1 2 3 |
Izlaz: xx.xxx.xxx.xxx - - [17/Apr/2021:19:25:05 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/xx.xxx.xxx.xxx Safari/537.36" "-" xx.xxx.xxx.xxx - - [17/Apr/2021:19:25:05 +0000] "GET /favicon.ico HTTP/1.1" 404 556 "http://xx.xxx.xxx.xxx:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/xx.xxx.xxx.xxx Safari/537.36" "-" |
Također možete provjeriti direktorij zapisa ~/logs na vašem glavnom računalu i pronaći datoteku zapisa Nginxa. Štoviše, ako napravite bilo kakve promjene u mapi logs folder, one će se odraziti i u mapi spremnika /var/log/nginx također.
Zaključak
U ovom vodiču naučili ste kako dijeliti podatke između unutrašnjosti Docker spremnika i glavnog računala. To je ključno u razvojnim okruženjima gdje je analiza zapisa neophodna za uklanjanje pogrešaka.
Za više resursa o Dockeru na našem blogu, možete pogledati sljedeće:
- Kako instalirati & upravljati Dockerom na Ubuntuu u javnom oblaku
- Instalacija i postavljanje Dockera na CentOS 7
- Čišćenje Docker resursa – slike, spremnici i volumeni
- Kako pokrenuti Docker na CloudSigma (s CloudInit) Ažurirano
Sretno računanje!
Komentari
Još nema komentara. Budite prvi.