Docker vodič za početnike: Osnove, Architekstura, kontejneri

Što je Docker?

Lučki radnik je platforma za razvoj softvera za virtualizaciju s višestrukim Operating sustave koji rade na istom hostu. Pomaže pri odvajanju infrastrukture i aplikacija kako bi se softver brzo isporučio. Za razliku od hipervizora, koji se koriste za kreiranje VM (virtualnih strojeva), virtualizacija u Dockeru se izvodi na razini sustava, koji se nazivaju i Docker kontejneri.

Kao što možete vidjeti razliku na donjoj slici, Docker spremnici rade na vrhu glavnog računala Operacijski sustav. To vam pomaže da poboljšate učinkovitost i sigurnost. Štoviše, možemo pokrenuti više spremnika na istoj infrastrukturi nego što možemo pokrenuti virtualne strojeve jer spremnici koriste manje resursa.

Virtualizacija u Dockeru nasuprot hipervizoru
Virtualizacija u Dockeru nasuprot hipervizoru

Za razliku od VM-ova koji mogu komunicirati s hardverom glavnog računala (npr.: Ethernet adapter za stvaranje više virtualnih adaptera), Docker spremnici rade u izoliranom okruženju na vrhu OS-a glavnog računala. Čak i ako vaš domaćin trči Windows OS, možete pokrenuti Linux slike u spremnicima uz pomoć Hyper-V, koji automatski stvara mali VM za virtualizaciju osnovne slike sustava, u ovom slučaju, Linux.

Zašto koristiti Docker?

  • Docker je računalni softver koji se koristi za virtualizaciju kako bi imali više Operating sustavi radi na istom hostu
  • Docker je tip aplikacije klijent-poslužitelj što znači da imamo klijente koji se šalju na poslužitelj
  • Docker slike su "izvorni kod" za naše spremnike; koristimo ih za izgradnju
  • Dockerfile ima dvije vrste registara 1.) javne i 2) privatne registre
  • Spremnici su organizacijske jedinice Docker volumena. Jednostavno rečeno, slika je predložak, a spremnik je kopija tog predloška. Možete imati više spremnika (kopija) iste slike.

Lučki radnik Architektura

Sada u ovom vodiču za Docker spremnik, razgovarajmo o Docker glavnim komponentama u Dockeru Architekstura:

Lučki radnik Architektura
Lučki radnik Architektura

Docker motor

Docker je tip aplikacije klijent-poslužitelj što znači da imamo klijente koji se šalju na poslužitelj. Dakle, Docker demon nazvan: dockerd je Docker motor koji predstavlja poslužitelj. Docker demon i klijenti mogu se izvoditi na istom ili udaljenom hostu, a komuniciraju putem klijentskog binarnog retka za naredbe, kao i punog RESTful API za interakciju s demonom: dockerd.

Docker slike

Docker slike su "izvorni kod" za naše spremnike; koristimo ih za izradu kontejnera. Mogu imati unaprijed instaliran softver koji ubrzava implementaciju. One su prenosive i možemo koristiti postojeće slike ili izraditi vlastite.

Docker registri

Docker pohranjuje slike koje gradimo u registrima. Postoje javni i privatni registri. Docker tvrtka ima javni registar tzv Docker čvorište, gdje također možete privatno pohraniti slike. Docker hub ima milijune slika koje možete početi koristiti sada.

Docker kontejneri

Kontejneri su organizacijske jedinice i jedna od osnova Docker koncepta. Kada izgradimo sliku i počnemo je pokretati; trčimo u kontejneru. Analogija spremnika koristi se zbog prenosivosti softvera koji pokrećemo u našem spremniku. Možemo ga premjestiti, drugim riječima, "otpremiti" softver, modificirati, upravljati, stvoriti ili ga se riješiti, uništiti, baš kao što teretni brodovi mogu učiniti s pravim kontejnerima.

Jednostavno rečeno, slika je predložak, a spremnik je kopija tog predloška. Možete imati više spremnika (kopija) iste slike.

Ispod imamo sliku koja savršeno predstavlja interakciju između različitih komponenti i kako funkcionira Docker tehnologija spremnika.

Ono što imamo nekoliko dockers naredbi docker pull, docker run.. o tome ćemo više govoriti kasnije.

Kako instalirati Docker na Linux/Ubuntu

Ispod je korak po korak postupak instalacije Dockera na Linuxu/Ubuntu:

Korak 1) Da bismo instalirali Docker, moramo koristiti DEB pakete Docker tima.

Za to, neki preduvjet Ubuntu potrebni su paketi.

Koristite donju naredbu za instalaciju Ubuntu paketi

$ sudo apt-get install \
apt-transport-https \
ca-certificates curl \
software-properties-common

*znak “\” nije potreban, koristi se za novi red, ako želite možete napisati naredbu bez korištenja “\” samo u jednom redu.

Korak 2) Dodajte službeni Docker GPG ključ s otiskom prsta.

Upotrijebite donju naredbu Docker za unos GPG ključa

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Korak 3) Zatim dodajte Docker APT repozitorij.

Upotrijebite donju naredbu Docker za dodavanje repozitorija

$ sudo add-apt-repository \ 
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \ 
$(lsb_release -cs) \
stable"

Od vas se može tražiti da potvrdite da želite dodati repozitorij i da se GPG ključ automatski doda vašem hostu.

Naredba lsb_release trebala bi popuniti Ubuntu distribucijska verzija vašeg hosta.

Korak 4) Nakon dodavanja GPG ključa,

Ažurirajte APT izvore pomoću donje naredbe Docker

$ sudo apt-get update

Sada možemo instalirati sam Docker paket.

Korak 5) Nakon što se APT izvori ažuriraju,

Počnite instalirati Docker pakete na Ubuntu pomoću donje naredbe Docker

$ sudo apt-get install docker-ce

Gore navedena naredba instalira Docker i druge dodatne potrebne pakete. Prije Dockera 1.8.0 naziv paketa bio je lxc-docker, a između Dockera 1.8 i 1.13 naziv paketa bio je docker-engine.

BILJEŠKA: Docker za Windows Zahtijeva Windows 10 Pro ili Enterprise verzija 14393, ili Windows server 2016 RTM za pokretanje

Kako koristiti Docker pomoću osnovnih Docker naredbi

Evo kako koristiti Docker koristeći osnovne Docker naredbe:

Najosnovnija naredba koju moramo pokrenuti nakon instaliranja Dockera je $ docker info kao što smo već rekli.

$ sudo docker info

Trebali biste dobiti sličan ili sljedeći rezultat

Koristite Docker pomoću osnovnih naredbi Dockera

Kao što možemo vidjeti u gornjem primjeru Dockera, imamo informacije o docker spremnicima koliko ih je pokrenuto, pauzirano ili zaustavljeno i koliko smo slika preuzeli. Pa idemo dobiti našu prvu sliku u ovom vodiču za Docker naredbe.

$ sudo docker pull alpine

Ovom naredbom govorimo dockeru da preuzme sliku alpine, da je povuče iz javnog registra, najnoviju verziju koja je postavljena prema zadanim postavkama.

*alpine je minimalna Docker slika temeljena na Alpine Linuxu s potpunim indeksom paketa i veličine samo 5 MB.

Ako želimo pokrenuti sliku kao spremnik, koristit ćemo sljedeću naredbu u ovom vodiču za Docker tutorijale.

$ sudo docker run -i -t alpine /bin/bash

Ako pokrenemo naredbu, bit ćemo poslani izravno na alpin terminal. Oznaka -i drži STDIN otvorenim iz spremnika, čak i kada niste spojeni na njega. Ovaj trajni standardni unos je polovica onoga što vam je potrebno za interaktivnu ljusku. Oznaka -t je druga polovica i upućuje Dockera da dodijeli pseudo-tty spremniku. Ovo nam nudi interaktivnu ljusku u novom spremniku. Iz spremnika izlazimo jednostavnom exit naredbom.

Sada u ovom vodiču o osnovama Dockera možemo pokušati pokrenuti Ubuntu slika.

$ sudo docker run -it ubuntu /bin/bash

Možete primijetiti da docker provjerava sliku lokalno, a ako je nema, slika se automatski povlači iz biblioteke slika i ponovno imamo pokrenutu interaktivnu ljusku. Također možemo imenovati spremnike dok ih pokrećemo.

$ sudo docker run –-name our_container -it ubuntu /bin/bash

i opet izlazimo.

Također možemo pokrenuti spremnik koji smo prethodno izradili, bez interaktivne ljuske.

$ sudo docker start container_name

I zaustavite pisanje spremnika docker stop container_name

$ sudo docker stop container_name

Ako želimo vidjeti sve otvorene kontejnere, samo trčimo

$ docker ps

A za sve spremnike dodajemo “- a” na kraju te iste naredbe, poput ove docker ps -a.

Ova naredba prikazuje ID spremnika, koju sliku koristi kada je stvorena, status rada, izložene priključke i nasumično generirano ime za spremnik radi lakšeg upravljanja.

Kada pokrećemo kontejnere, također bismo željeli znati koliko resursa koriste, u tu svrhu možemo koristiti naredbu.

$ docker stats

Također možete vidjeti koje smo slike preuzeli lokalno i informacije o njima.

$ sudo docker images

Naredba u gornjem primjeru Dockera prikazuje Docker sliku s oznakom koja prikazuje našu verziju slike, prepoznatljiv ID slike, kada je stvorena i veličinu slike.

Što je virtualizacija?

Ranije je proces implementacije usluge bio spor i bolan. Prvo, programeri su pisali kod; zatim bi ga operativni tim postavio na gole metalne strojeve, gdje su morali paziti na verzije knjižnica, zakrpe i prevoditelje jezika kako bi kod radio. Ako je bilo nekih bugova ili grešaka, proces bi krenuo ispočetka, programeri bi to popravili, a onda je opet operativni tim bio tu za implementaciju.

Došlo je do poboljšanja stvaranjem hipervizora. Hipervizori imaju višestruke Virtualni strojevi ili VM-ovi na istom hostu, koji mogu biti pokrenuti ili isključeni. VM-ovi su uvelike smanjili vrijeme čekanja za implementaciju koda i ispravljanje grešaka, ali prava promjena u igri bili su Docker spremnici.

Važne Docker naredbe

Ispod su važne Docker naredbe:

naredba Description
docker info Zapovjedništvo informacija
doker povući Preuzmite sliku
docker run -i -t ime_slike /bin/bash Pokreni sliku kao spremnik
docker pokrenite naš_spremnik Početni spremnik
docker zaustaviti naziv_spremnika Zaustavite spremnik
dock ps Popis svih spremnika koji rade
docker statistika Informacije o spremniku
slike dockera Popis preuzetih slika
Čišćenje Dockera Ubijte sve otvorene spremnike.

Također, pročitajte Pitanja i odgovori na razgovoru za posao dokera za svježije kao i iskusne profesionalce.

Rezime

  • Docker je platforma za razvoj softvera za virtualizaciju s višestrukim Operating sustave koji rade na istom hostu. Pomaže pri odvajanju infrastrukture i aplikacija kako bi se softver brzo isporučio.
  • Lučki radnik Architekstura: Docker Engine, Docker slike, Docker registri, Docker kontejneri.
  • Docker Engine: Docker je tip aplikacije klijent-poslužitelj što znači da imamo klijente koji se šalju na poslužitelj. Dakle, Docker demon nazvan: dockerd je Docker motor koji predstavlja poslužitelj.
  • Docker slike: Docker slike su "izvorni kod" za naše spremnike; koristimo ih za izradu kontejnera. Mogu imati unaprijed instaliran softver koji ubrzava implementaciju. One su prenosive i možemo koristiti postojeće slike ili izraditi vlastite.
  • Docker registri: Docker pohranjuje slike koje gradimo u registrima. Postoje javni i privatni registri. Tvrtka Docker ima javni registar pod nazivom Docker hub, gdje također možete privatno pohraniti slike. Docker hub ima milijune slika koje možete početi koristiti sada.
  • Docker spremnici: Kontejneri su organizacijske jedinice i jedna od osnova Docker koncepta. Kada izgradimo sliku i počnemo je pokretati; trčimo u kontejneru. Analogija spremnika koristi se zbog prenosivosti softvera koji pokrećemo u našem spremniku.