{"id":32873,"date":"2019-10-31T21:49:25","date_gmt":"2019-10-31T18:49:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/izuchaem-docker-chast-6-rabota-s-dannymi\/"},"modified":"2019-10-31T21:49:25","modified_gmt":"2019-10-31T18:49:25","slug":"izuchaem-docker-chast-6-rabota-s-dannymi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","title":{"rendered":"Eksplorojm\u00eb Docker, pjesa 6: punimi me t\u00eb dh\u00ebna","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>N\u00eb k\u00ebt\u00eb pjes\u00eb t\u00eb p\u00ebrkthimit t\u00eb seri materialeve mbi Docker, do t\u00eb flasim p\u00ebr pun\u00ebn me t\u00eb dh\u00ebnat. N\u00eb ve\u00e7anti \u2014 p\u00ebr volumet Docker. N\u00eb k\u00ebto materiale, ne vazhdimisht kemi krahasuar mekanizmat e softuerit t\u00eb Docker me krahasime t\u00eb ndryshme ushqimore. Le t\u00eb mos largohemi nga kjo tradit\u00eb as k\u00ebtu. T\u00eb dh\u00ebnat n\u00eb Docker le t\u00eb jen\u00eb er\u00ebza. N\u00eb bot\u00eb ekzistojn\u00eb shum\u00eb lloje er\u00ebzash, dhe n\u00eb Docker \u2014 shum\u00eb m\u00ebnyra p\u00ebr t\u00eb punuar me t\u00eb dh\u00ebnat.<\/p>\n<p>\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/438796\/\">Pjesa 1: t\u00eb parat<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439978\/\">Pjesa 2: terma dhe koncepte<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439980\/\">Pjesa 3: skedar\u00ebt Dockerfile<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440658\/\">Pjesa 4: zvog\u00eblimi i madh\u00ebsive t\u00eb imazheve dhe p\u00ebrshpejtimi i nd\u00ebrtimit t\u00eb tyre<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440660\/\">Pjesa 5: komandat<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/441574\/\">Pjesa 6: pun\u00eb me t\u00eb dh\u00ebna<\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/441574\/\"><img decoding=\"async\" alt=\"Eksplorojm\u00eb Docker, pjesa 6: punimi me t\u00eb dh\u00ebna\" src=\"\/wp-content\/uploads\/2019\/05\/b46a9525df1a3ed70d8e2625fbfd42f6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nKujdes, ky material \u00ebsht\u00eb p\u00ebrgatitur duke p\u00ebrdorur motorin Docker versione 18.09.1 dhe API version <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/api\/version-history\/\">1.39<\/a><\/noindex>.<\/p>\n<p>T\u00eb dh\u00ebnat n\u00eb Docker mund t\u00eb ruhen ose p\u00ebrkoh\u00ebsisht, ose p\u00ebrhersh\u00ebm. Le t\u00eb fillojm\u00eb me t\u00eb dh\u00ebnat p\u00ebrkoh\u00ebsore.<\/p>\n<h2>Ruajtja e p\u00ebrkohshme t\u00eb dh\u00ebnash<\/h2>\n<p>\nN\u00eb kontejner\u00ebt Docker, organizimi i pun\u00ebs me t\u00eb dh\u00ebnat p\u00ebrkoh\u00ebsore mund t\u00eb b\u00ebhet n\u00eb dy m\u00ebnyra.<\/p>\n<p>P\u00ebr default, skedar\u00ebt q\u00eb krijohen nga aplikacioni q\u00eb punon n\u00eb kontejner ruhen n\u00eb nj\u00eb shtres\u00eb kontejneri q\u00eb mb\u00ebshtet shkrimin. P\u00ebr t\u00eb funksionuar ky mekaniz\u00ebm, nuk nevojitet konfigurim t\u00eb ve\u00e7ant\u00eb. K\u00ebshtu q\u00eb del ekonomik dhe efektiv. Aplikacioni mjafton t\u00eb ruaj\u00eb t\u00eb dh\u00ebnat dhe t\u00eb vazhdoj\u00eb me pun\u00ebn e tij. Megjithat\u00eb, pas ndalimit t\u00eb ekzistenc\u00ebs s\u00eb kontejnerit, do t\u00eb humbasin gjithashtu t\u00eb dh\u00ebnat e ruajtura me k\u00ebt\u00eb metod\u00eb t\u00eb thjesht\u00eb.<\/p>\n<p>P\u00ebr ruajtjen e skedar\u00ebve p\u00ebrkoh\u00ebsor\u00eb n\u00eb Docker, mund t\u00eb p\u00ebrdorni nj\u00eb zgjidhje tjet\u00ebr, e cila \u00ebsht\u00eb e p\u00ebrshtatshme p\u00ebr rastet kur k\u00ebrkohet nj\u00eb nivel m\u00eb i lart\u00eb performanc\u00eb n\u00eb krahasim me at\u00eb q\u00eb arrihet me mekanizmin standard t\u00eb ruajtjes p\u00ebrkoh\u00ebsore. N\u00ebse nuk ju nevojitet q\u00eb t\u00eb dh\u00ebnat tuaja t\u00eb ruhen m\u00eb gjat\u00eb se sa ekziston kontejneri, mund t\u00eb lidhni nj\u00eb tmpfs me kontejnerin \u2014 nj\u00eb magazin\u00eb p\u00ebrkoh\u00ebsore q\u00eb p\u00ebrdor RAM-in e hostit. Kjo do t\u00eb p\u00ebrshpejtoj\u00eb operacionet e shkrimit dhe leximit t\u00eb t\u00eb dh\u00ebnave.<\/p>\n<p>Shpesh ndodh q\u00eb t\u00eb dh\u00ebnat duhet t\u00eb ruhen dhe pasi kontejneri t\u00eb ket\u00eb ndaluar ekzistenc\u00ebn. P\u00ebr k\u00ebt\u00eb, do t\u00eb na nevojiten mekanizmat e ruajtjes p\u00ebrhershme t\u00eb t\u00eb dh\u00ebnave.<\/p>\n<h2>Ruajtja e p\u00ebrhershme e t\u00eb dh\u00ebnave<\/h2>\n<p>\nEkzistojn\u00eb dy m\u00ebnyra p\u00ebr t\u00eb b\u00ebr\u00eb q\u00eb koha e jet\u00ebs s\u00eb t\u00eb dh\u00ebnave t\u00eb jet\u00eb m\u00eb e gjat\u00eb se koha e jet\u00ebs s\u00eb kontejnerit. Nj\u00eb nga m\u00ebnyrat \u00ebsht\u00eb p\u00ebrdorimi i teknologjis\u00eb bind mount. Me k\u00ebt\u00eb qasje, mund t\u00eb lidhni nj\u00eb folder realisht ekzistues me kontejnerin. Proceset jasht\u00eb Docker-it do t\u00eb mund t\u00eb punojn\u00eb me t\u00eb dh\u00ebnat q\u00eb ruhen n\u00eb k\u00ebt\u00eb folder. K\u00ebtu \u00ebsht\u00eb si <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">duke dukur<\/a><\/noindex> lidhet tmpfs dhe teknologjia bind mount.<\/p>\n<p><img decoding=\"async\" alt=\"Eksplorojm\u00eb Docker, pjesa 6: punimi me t\u00eb dh\u00ebna\" src=\"\/wp-content\/uploads\/2019\/05\/73b9b7fd59b1321edb9f58953285d8d5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Lidhja tmpfs dhe bind mount<\/i><\/p>\n<p>Disavantazhet e p\u00ebrdorimit t\u00eb teknologjis\u00eb bind mount p\u00ebrfshijn\u00eb komplikimin e kopjimit t\u00eb t\u00eb dh\u00ebnave, migrimin e t\u00eb dh\u00ebnave, dhe ndarjen e t\u00eb dh\u00ebnave midis kontejner\u00ebve. \u00cbsht\u00eb shum\u00eb m\u00eb mir\u00eb p\u00ebr ruajtjen p\u00ebrhershme t\u00eb t\u00eb dh\u00ebnave t\u00eb p\u00ebrdoren volumet Docker.<\/p>\n<h2>Volumet Docker<\/h2>\n<p>\nNj\u00eb volum \u00ebsht\u00eb nj\u00eb sistem fisier\u00ebsh i vendosur n\u00eb makin\u00ebn host p\u00ebrtej kontejner\u00ebve. Docker \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr krijimin dhe administrimin e volumet. K\u00ebtu jan\u00eb ve\u00e7orit\u00eb kryesore t\u00eb volumeteve Docker:<\/p>\n<ul>\n<li>Ato jan\u00eb mjete p\u00ebr ruajtjen p\u00ebrhershme t\u00eb informacionit.<\/li>\n<li>Ato jan\u00eb t\u00eb pavarura dhe t\u00eb ndara nga kontejner\u00ebt.<\/li>\n<li>Ato mund t\u00eb p\u00ebrdoren n\u00eb p\u00ebrbashk\u00ebsi nga kontejner\u00eb t\u00eb ndrysh\u00ebm.<\/li>\n<li>Ato lejojn\u00eb organizimin e leximit dhe shkrimit efektiv t\u00eb t\u00eb dh\u00ebnave.<\/li>\n<li>Volumet mund t\u00eb vendosen n\u00eb burimet e ofruesve t\u00eb sh\u00ebrbimit n\u00eb cloud.<\/li>\n<li>Ato mund t\u00eb enkriptohen.<\/li>\n<li>Ato mund t\u00eb em\u00ebrtohen.<\/li>\n<li>Nj\u00eb kontejner mund t\u00eb organizoj\u00eb paraprakisht mbushjen e volumit me t\u00eb dh\u00ebna.<\/li>\n<li>Ato jan\u00eb t\u00eb p\u00ebrshtatshme p\u00ebr testim.<\/li>\n<\/ul>\n<p>\nSi\u00e7 e shihni, volumet Docker kan\u00eb ve\u00e7ori t\u00eb shk\u00eblqyera. Le t\u00eb flasim p\u00ebr m\u00ebnyrat e krijimit t\u00eb tyre.<\/p>\n<h2>Krijimi i volumeteve<\/h2>\n<p>\nVolumet mund t\u00eb krijohen p\u00ebrmes Docker ose duke p\u00ebrdorur thirrje n\u00eb API.<\/p>\n<p>K\u00ebtu \u00ebsht\u00eb instruksioni n\u00eb Dockerfile q\u00eb lejon krijimin e nj\u00eb volumi gjat\u00eb fillimit t\u00eb kontejnerit.<\/p>\n<pre><code class=\"plaintext\">VOLUME \/my_volume<\/code><\/pre>\n<p>\nDuke p\u00ebrdorur nj\u00eb instruksion t\u00eb till\u00eb Docker, pas krijimit t\u00eb kontejnerit, do t\u00eb krijohet nj\u00eb volum q\u00eb p\u00ebrmban t\u00eb dh\u00ebnat q\u00eb tashm\u00eb ekzistojn\u00eb n\u00eb vendin e caktuar. Kini parasysh se n\u00ebse krijoni nj\u00eb volum duke p\u00ebrdorur Dockerfile, kjo nuk ju \u00e7liron nga nevoja p\u00ebr t\u00eb treguar pik\u00ebn e lidhjes s\u00eb volumit.<\/p>\n<p>Volumet mund t\u00eb krijohen gjithashtu n\u00eb Dockerfile duke p\u00ebrdorur formatin JSON.<\/p>\n<p>P\u00ebrve\u00e7 k\u00ebsaj, volumet mund t\u00eb krijohen edhe p\u00ebrmes komand\u00ebs nga linja e komandave gjat\u00eb funksionimit t\u00eb kontejnerit.<\/p>\n<h2>Pun\u00eb me volumet nga linja e komandave<\/h2>\n<p><\/p>\n<h3>\u258dKrijimi i nj\u00eb volumi<\/h3>\n<p>\nNj\u00eb volum t\u00eb pavarur mund t\u00eb krijohet me komand\u00ebn e m\u00ebposhtme:<\/p>\n<pre><code class=\"plaintext\">docker volume create \u2014-name my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dZbulimi i informacionit mbi volumet<\/h3>\n<p>\nP\u00ebr t\u00eb par\u00eb list\u00ebn e volumeteve Docker, p\u00ebrdorni komand\u00ebn e m\u00ebposhtme:<\/p>\n<pre><code class=\"plaintext\">docker volume ls<\/code><\/pre>\n<p>\nP\u00ebr t\u00eb hetuar nj\u00eb volum t\u00eb ve\u00e7ant\u00eb, mund t\u00eb b\u00ebni k\u00ebshtu:<\/p>\n<pre><code class=\"plaintext\">docker volume inspect my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dShk\u00ebputja e nj\u00eb volumi<\/h3>\n<p>\nNj\u00eb volum mund t\u00eb fshihet k\u00ebshtu:<\/p>\n<pre><code class=\"plaintext\">docker volume rm my_volume<\/code><\/pre>\n<p>\nP\u00ebr t\u00eb fshir\u00eb t\u00eb gjitha volumet q\u00eb nuk p\u00ebrdoren nga kontejner\u00ebt, mund t\u00eb p\u00ebrdorni komand\u00ebn:<\/p>\n<pre><code class=\"plaintext\">docker volume prune<\/code><\/pre>\n<p>\nPara se t\u00eb fshini volumet, Docker do t'ju k\u00ebrkoj\u00eb konfirmimin p\u00ebr t\u00eb kryer k\u00ebt\u00eb operacion.<\/p>\n<p>N\u00ebse nj\u00eb volum \u00ebsht\u00eb i lidhur me ndonj\u00eb kontejner, ai volum nuk mund t\u00eb fshihet derisa t\u00eb fshihet kontejneri p\u00ebrkat\u00ebs. Megjithat\u00eb, edhe n\u00ebse kontejneri \u00ebsht\u00eb fshir\u00eb, Docker nuk e kupton gjithmon\u00eb k\u00ebt\u00eb. N\u00ebse ndodh kjo - mund t\u00eb p\u00ebrdorni komand\u00ebn n\u00eb vijim:<\/p>\n<pre><code class=\"plaintext\">docker system prune<\/code><\/pre>\n<p>\nAjo \u00ebsht\u00eb e destinuar p\u00ebr pastrimin e burimeve Docker. Pas ekzekutimit t\u00eb k\u00ebsaj komande, ju duhet t\u00eb keni mund\u00ebsin\u00eb p\u00ebr t\u00eb fshir\u00eb volumet, statusi i t\u00eb cilave m\u00eb par\u00eb p\u00ebrcaktohej gabimisht.<\/p>\n<h2>\u0424\u043b\u0430\u0433\u0438 &#8212;mount \u0438 &#8212;volume<\/h2>\n<p>\nP\u00ebr t\u00eb punuar me volumet, gjat\u00eb thirrjes s\u00eb komand\u00ebs <code>docker<\/code>, shpesh do t'ju duhet t\u00eb p\u00ebrdorni flagat. P\u00ebr shembull, p\u00ebr t\u00eb krijuar nj\u00eb volum gjat\u00eb krijimit t\u00eb kontejnerit, mund t\u00eb p\u00ebrdorni k\u00ebt\u00eb struktur\u00eb:<\/p>\n<pre><code class=\"plaintext\">docker container run --mount source=my_volume, target=\/container\/path\/for\/volume my_image<\/code><\/pre>\n<p>\nN\u00eb dit\u00ebt e kaluara (para vitit 2017) flagu <code>--volume<\/code>. Fillimisht ky flag (mund t\u00eb p\u00ebrdoret gjithashtu n\u00eb form\u00eb t\u00eb shkurtuar, at\u00ebher\u00eb duket si <code>-v<\/code>) u p\u00ebrdor p\u00ebr kontejner\u00ebt e pavarur, nd\u00ebrsa flagu <code>--mount<\/code> \u2014 n\u00eb mjedisin Docker Swarm. Megjithat\u00eb, duke filluar nga Docker 17.06, flagu <code>--mount<\/code> mund t\u00eb p\u00ebrdoret n\u00eb \u00e7do skenar.<\/p>\n<p>Duhet theksuar se kur p\u00ebrdorni flagun <code>--mount<\/code> rritet volumi i t\u00eb dh\u00ebnave shtes\u00eb q\u00eb duhet t\u00eb tregoni n\u00eb komand\u00eb, por, p\u00ebr disa arsye, \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb p\u00ebrdorni pik\u00ebrisht k\u00ebt\u00eb flag, sesa <code>--volume<\/code>. Flag <code>--mount<\/code> \u2014 \u00ebsht\u00eb mekanizmi i vet\u00ebm q\u00eb lejon t\u00eb punoni me sh\u00ebrbime ose t\u00eb p\u00ebrcaktoni parametrat e driverit t\u00eb volumin. P\u00ebr m\u00eb tep\u00ebr, \u00ebsht\u00eb m\u00eb e leht\u00eb t\u00eb punoni me k\u00ebt\u00eb flag.<\/p>\n<p>N\u00eb shembujt ekzistues t\u00eb komandave t\u00eb orientuara n\u00eb pun\u00ebn me t\u00eb dh\u00ebnat n\u00eb Docker, mund t\u00eb hasni shum\u00eb shembuj t\u00eb p\u00ebrdorimit t\u00eb flagut <code>-v<\/code>. Duke p\u00ebrpjekur t'i adaptoni k\u00ebto komanda p\u00ebr vete, merrni parasysh se flagat <code>--mount<\/code> dhe <code>--volume<\/code> p\u00ebrdorin formate t\u00eb ndryshme parametrash. Pra, nuk mund ta z\u00ebvend\u00ebsoni thjesht <code>-v<\/code> n\u00eb <code>--mount<\/code> dhe t\u00eb merrni nj\u00eb komand\u00eb funksionale.<\/p>\n<p>Dallimi kryesor midis <code>--mount<\/code> dhe <code>--volume<\/code> \u00ebsht\u00eb se kur p\u00ebrdoret flagu <code>--volume<\/code> t\u00eb gjitha parametrat mblidhen s\u00eb bashku, n\u00eb nj\u00eb fush\u00eb, nd\u00ebrsa kur p\u00ebrdoret <code>--mount<\/code> parametrat ndahen.<\/p>\n<p>Kur punoni me <code>--mount<\/code> Parametrat paraqiten si \u00e7ifte \u00e7el\u00ebs-vler\u00eb, dhe konkretisht, duket si <code>key=value<\/code>. K\u00ebto \u00e7ifte ndahen me presje. K\u00ebtu jan\u00eb parametrat e p\u00ebrdorur shpesh <code>--mount<\/code>:<\/p>\n<ul>\n<li><code>type<\/code> \u2014 lloji i montimit. Vlera p\u00ebr \u00e7el\u00ebsin p\u00ebrkat\u00ebs mund t\u00eb jet\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/bind-mounts\/\">bind<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">volume<\/a><\/noindex> ose <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/tmpfs\/\">tmpfs<\/a><\/noindex>. Po flasim k\u00ebtu p\u00ebr volumet, pra - na intereson vlera <code>volume<\/code>.<\/li>\n<li><code>source<\/code> \u2014 burimi i montimit. P\u00ebr volumin e em\u00ebruar, kjo \u00ebsht\u00eb - emri i volumit. P\u00ebr volumet e paem\u00ebruara ky \u00e7el\u00ebs nuk tregohet. Ai mund t\u00eb shkurt\u00ebzohet n\u00eb <code>src<\/code>.<\/li>\n<li><code>destinacioni<\/code> \u2014 rruga, ku skedari ose dosja montohet n\u00eb kontejner. Ky \u00e7el\u00ebs mund t\u00eb shkurt\u00ebzohet n\u00eb <code>dst<\/code> ose <code>target<\/code>.<\/li>\n<li><code>readonly<\/code> \u2014 montohet volum, q\u00eb \u00ebsht\u00eb i destinuar <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/#use-a-read-only-volume\">t\u00eb lexuesh\u00ebm vet\u00ebm<\/a><\/noindex>. P\u00ebrdorimi i k\u00ebtij \u00e7el\u00ebsi nuk \u00ebsht\u00eb obligativ, nuk i caktohet ndonj\u00eb vler\u00eb.<\/li>\n<\/ul>\n<p>\nJa nj\u00eb shembull p\u00ebrdorimi <code>--mount<\/code> me shum\u00eb parametra:<\/p>\n<pre><code class=\"plaintext\">docker run --mount type=volume,source=volume_name,destination=\/path\/in\/container,readonly my_image<\/code><\/pre>\n<p><\/p>\n<h2>P\u00ebrfundimet<\/h2>\n<p>\nJa disa komanda t\u00eb dobishme q\u00eb mund t\u00eb p\u00ebrdorni gjat\u00eb pun\u00ebs me volumet Docker:<\/p>\n<ul>\n<li><code>docker volume create<\/code><\/li>\n<li><code>docker volume ls<\/code><\/li>\n<li><code>docker volume inspect<\/code><\/li>\n<li><code>docker volume rm<\/code><\/li>\n<li><code>docker volume prune<\/code><\/li>\n<\/ul>\n<p>\nJa nj\u00eb list\u00eb e parametrave t\u00eb p\u00ebrdorur shpesh p\u00ebr <code>--mount<\/code>, t\u00eb aplikueshme n\u00eb komand\u00ebn si <code>docker run --mount my_options my_image<\/code>:<\/p>\n<ul>\n<li><code>type=volume<\/code><\/li>\n<li><code>source=volume_name<\/code><\/li>\n<li><code>destination=\/path\/in\/container<\/code><\/li>\n<li><code>readonly<\/code><\/li>\n<\/ul>\n<p>\nTani, kur kemi p\u00ebrfunduar k\u00ebt\u00eb seri materialesh mbi Docker, ka ardhur koha p\u00ebr t\u00eb th\u00ebn\u00eb disa fjal\u00eb rreth asaj se ku ata q\u00eb studiojn\u00eb Docker mund t\u00eb shkojn\u00eb m\u00eb tej. <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.freecodecamp.org\/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b\">K\u00ebtu \u00ebsht\u00eb<\/a><\/noindex> nj\u00eb artikull t\u00eb shk\u00eblqyer mbi Docker. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/Docker-Deep-Dive-Nigel-Poulton-ebook\/dp\/B01LXWQUFF\">K\u00ebtu \u00ebsht\u00eb<\/a><\/noindex> nj\u00eb lib\u00ebr mbi Docker (kur blini k\u00ebt\u00eb lib\u00ebr, p\u00ebrpiquni t\u00eb merrni botimin m\u00eb t\u00eb ri t\u00eb tij). <noindex><a rel=\"nofollow\" href=\"https:\/\/dockerbook.com\/\">K\u00ebtu \u00ebsht\u00eb<\/a><\/noindex> nj\u00eb lib\u00ebr tjet\u00ebr, i cili do t\u00eb p\u00ebrputhet me ata q\u00eb besojn\u00eb se praktika \u00ebsht\u00eb m\u00ebnyra m\u00eb e mir\u00eb p\u00ebr t\u00eb m\u00ebsuar teknologjit\u00eb.<\/p>\n<p><b>T\u00eb nderuar lexues!<\/b> \u00c7far\u00eb materialesh mbi Docker do t\u00eb rekomandonit t\u00eb studionin fillestar\u00ebt?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"Eksplorojm\u00eb Docker, pjesa 6: punimi me t\u00eb dh\u00ebna\" src=\"\/wp-content\/uploads\/2019\/05\/78a5dd35cfae6d1e291f175957207436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/441574\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker. \u0412 \u044d\u0442\u0438\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u0445 \u043c\u044b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b Docker \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u044a\u0435\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044f\u043c\u0438. \u041d\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0442 \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438 \u0438 \u0437\u0434\u0435\u0441\u044c. \u0414\u0430\u043d\u043d\u044b\u0435 \u0432 Docker \u043f\u0443\u0441\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043f\u0435\u0446\u0438\u044f\u043c\u0438. \u0412 \u043c\u0438\u0440\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0438\u0434\u043e\u0432 \u0441\u043f\u0435\u0446\u0438\u0439, \u0430 \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24642,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker. \u0412 \u044d\u0442\u0438\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u0445 \u043c\u044b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b Docker \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u044a\u0435\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044f\u043c\u0438. \u041d\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0442 \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438 \u0438 \u0437\u0434\u0435\u0441\u044c. \u0414\u0430\u043d\u043d\u044b\u0435 \u0432 Docker \u043f\u0443\u0441\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043f\u0435\u0446\u0438\u044f\u043c\u0438. \u0412 \u043c\u0438\u0440\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0438\u0434\u043e\u0432 \u0441\u043f\u0435\u0446\u0438\u0439, \u0430 \u0432\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0437\u0443\u0447\u0430\u0435\u043c Docker, \u0447\u0430\u0441\u0442\u044c 6: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker. \u0412 \u044d\u0442\u0438\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u0445 \u043c\u044b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b Docker \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u044a\u0435\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044f\u043c\u0438. \u041d\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0442 \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438 \u0438 \u0437\u0434\u0435\u0441\u044c. \u0414\u0430\u043d\u043d\u044b\u0435 \u0432 Docker \u043f\u0443\u0441\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043f\u0435\u0446\u0438\u044f\u043c\u0438. \u0412 \u043c\u0438\u0440\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0438\u0434\u043e\u0432 \u0441\u043f\u0435\u0446\u0438\u0439, \u0430 \u0432\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:49:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:49:25+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Studimi i Docker, pjesa 6: pun\u00eb me t\u00eb dh\u00ebna | ProHoster","description":"N\u00eb k\u00ebt\u00eb pjes\u00eb t\u00eb sotme t\u00eb p\u00ebrkthimit t\u00eb seris\u00eb s\u00eb materialeve mbi Docker, do t\u00eb flasim p\u00ebr pun\u00ebn me t\u00eb dh\u00ebnat. Sip\u00ebrfaq\u00ebsisht - mbi volumet Docker. N\u00eb k\u00ebto materiale ne kemi krahasuar vazhdimisht mekanizmat software t\u00eb Docker me analogji t\u00eb ndryshme ushqimore. Le t\u00eb mos largohemi nga kjo tradit\u00eb dhe k\u00ebtu. T\u00eb dh\u00ebnat n\u00eb Docker le t\u00eb jen\u00eb er\u00ebzat. N\u00eb bot\u00eb ka shum\u00eb lloje er\u00ebzash, dhe n\u00eb","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0437\u0443\u0447\u0430\u0435\u043c Docker, \u0447\u0430\u0441\u0442\u044c 6: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 | ProHoster","og:description":"\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker. \u0412 \u044d\u0442\u0438\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u0445 \u043c\u044b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b Docker \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u044a\u0435\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044f\u043c\u0438. \u041d\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0442 \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438 \u0438 \u0437\u0434\u0435\u0441\u044c. \u0414\u0430\u043d\u043d\u044b\u0435 \u0432 Docker \u043f\u0443\u0441\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043f\u0435\u0446\u0438\u044f\u043c\u0438. \u0412 \u043c\u0438\u0440\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0438\u0434\u043e\u0432 \u0441\u043f\u0435\u0446\u0438\u0439, \u0430 \u0432","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:49:25+00:00","article:modified_time":"2019-10-31T18:49:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32873","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 12:57:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:56:03","updated":"2026-01-21 12:57:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/32873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=32873"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/32873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/24642"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=32873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=32873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=32873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}