Kako instalirati i koristiti Docker na Ubuntu 20.04


Docker je najpopularnija platforma otvorenog koda za programere i sistemske administratore za pravljenje, pokretanje i dijeljenje aplikacija sa kontejnerima. Kontejnerizacija (upotreba kontejnera za implementaciju aplikacija) postaje popularna jer su kontejneri fleksibilni, lagani, prenosivi, labavo povezani, skalabilni i sigurniji.

Ovaj članak je dobra polazna tačka za početnike da nauče kako da instaliraju i koriste Docker na Ubuntu 20.04 Linux sistemu sa nekim osnovnim komandama. Za ovaj vodič, mi ćemo instalirati Docker Community Edition (CE).

Preduvjeti:

  • Instalacija Ubuntu 20.04 servera.
  • Korisnik s privilegijama za pokretanje sudo komande.

Instaliranje Dockera na Ubuntu 20.04

Da bismo koristili najnoviju verziju Dockera, mi ćemo je instalirati iz službenog Docker spremišta. Dakle, počnite dodavanjem GPG ključa za službeno Docker spremište na vaš sistem, nakon toga dodajte konfiguraciju spremišta u APT izvor sa sledeće komande.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Sada ažurirajte keš paketa APT kako biste uključili nove Docker pakete u sistem koristeći sljedeću naredbu.

sudo apt update

Zatim instalirajte Docker paket kao što je prikazano.

sudo apt install docker-ce

Tokom procesa instalacije Docker paketa, program za instalaciju paketa pokreće systemd (upravitelj sistema i usluga) da automatski pokrene i omogući docker uslugu. Korištenje sljedećih naredbi za potvrdu da je docker usluga aktivna i da je omogućeno automatsko pokretanje pri pokretanju sistema. Također provjerite njegov status:

sudo systemctl is-active docker
sudo systemctl is-enabled docker
sudo systemctl status docker

Postoji nekoliko drugih systemctl naredbi za upravljanje i kontrolu docker usluge, što uključuje sljedeće:

sudo systemctl stop docker			#stop the docker service
sudo systemctl start docker			#start the docker service
sudo systemctl  restart docker		#restart the docker service

Da provjerite verziju Docker CE instaliranog na vašem sistemu, pokrenite sljedeću naredbu:

docker version

Možete vidjeti dostupne naredbe za korištenje docker-a pokretanjem docker naredbe bez ikakvih opcija ili argumenata:

 
docker

Upravljajte Docker-om kao nekorijenski korisnik sa sudo komandom

Po defaultu, Docker daemon se veže za UNIX utičnicu (umjesto za TCP port) koji je u vlasništvu root korisnika. Stoga se Docker demon uvijek pokreće kao root korisnik i da biste pokrenuli docker naredbu, trebate koristiti sudo.

Osim toga, tokom instalacije paketa Docker, kreira se grupa pod nazivom docker. Kada se Docker daemon pokrene, on kreira UNIX utičnicu kojoj pristupaju članovi docker grupe (koja daje privilegije ekvivalentne root korisniku).

Da biste pokrenuli naredbu docker bez sudo, dodajte sve ne-root korisnike koji bi trebali pristupiti docker-u u grupu docker na sljedeći način. U ovom primjeru, naredba dodaje trenutno prijavljenog korisnika ($USER) ili korisničko ime u docker grupu:

sudo usermod -aG docker $USER
OR
sudo usermod -aG docker username

Da biste aktivirali promjene u grupama, pokrenite sljedeću naredbu:

newgrp docker 
groups

Zatim provjerite da li možete pokrenuti docker komande bez sudo. Sljedeća naredba preuzima probnu sliku i pokreće je u kontejneru. Kada se kontejner pokrene, ispisuje informativnu poruku i izlazi. Ovo je također još jedan način da provjerite da li vaša instalacija radi dobro.

docker run hello-world

Rad sa Docker slikama

Slika Docker je fajl šablona samo za čitanje sa uputstvima za kreiranje Docker kontejnera. Možete kreirati svoje prilagođene slike ili možete koristiti samo one koje su kreirali drugi i objavili u Docker Hub-u, najvećoj svjetskoj biblioteci i zajednici za slike kontejnera.

Možete tražiti centos sliku u Docker Hub-u sa sljedećom naredbom:

docker search centos 

Za lokalno preuzimanje slike koristite naredbu za povlačenje. Ovaj primjer pokazuje kako preuzeti zvaničnu centos sliku.

docker pull centos

Kada se preuzimanje završi, možete navesti dostupne slike na vašem lokalnom sistemu.

docker images

Ako vam slika više nije potrebna, možete je ukloniti iz vašeg sistema.

docker rmi centos
OR
docker rmi centos:latest    #where latest is the tag

Pokretanje i upravljanje Docker kontejnerima

Docker kontejner je proces koji se nativno izvodi na Linuxu i dijeli jezgro glavnog računala s drugim kontejnerima. Što se tiče Docker slike, kontejner je samo pokrenuta slika.

Da pokrenete kontejner na osnovu vaše nove slike centos, pokrenite sljedeću naredbu gdje je “centos ” naziv lokalne slike i “cat /etc/centos-release ” je naredba za pokretanje u kontejneru:

docker run centos cat /etc/centos-release

Kontejner pokreće diskretni proces koji je izolovan po tome što ima svoj: sistem datoteka, umrežavanje i izolovano stablo procesa odvojeno od hosta. Imajte na umu da možete manipulirati kontejnerom koristeći ID, ID-prefiks ili ime kontejnera kao što je prikazano ispod. Gornji proces kontejnera izlazi nakon što se naredba pokrene.

Za popis Docker kontejnera koristite naredbu docker ps na sljedeći način. Koristite oznaku -l da prikažete najnoviji kreirani kontejner u svim stanjima:

docker ps
OR
docker ps -l

Za prikaz svih kontejnera uključujući i one koji su izašli, koristite oznaku -a.

docker ps -a

Također možete pokrenuti kontejner koristeći njegov ID kontejnera nakon što je izašao. Na primjer, u prethodnoj naredbi, naš ID kontejnera je 94c35e616b91. Možemo pokrenuti kontejner kao što je prikazano (imajte na umu da će pokrenuti naredbu i izaći):

docker start 94c35e616b91

Da zaustavite pokrenuti kontejner koristeći njegov ID, koristite komandu stop kao što je prikazano.

docker stop 94c35e616b91

Docker vam također omogućava da dodijelite naziv kontejneru koristeći opciju --name kada ga pokrenete.

docker run --name my_test centos cat /etc/centos-release
docker ps -l

Sada možete koristiti ime kontejnera za upravljanje (pokretanje, zaustavljanje, statistika, uklanjanje, itd.) kontejnerom:

docker stop my_test
docker start my_test
docker stats my_test
docker rm my_test

Pokretanje interaktivne sesije u Docker kontejneru

Da biste pokrenuli interaktivnu sesiju ljuske u kontejneru kako biste omogućili pokretanje komandi unutar kontejnera, pokrenite sljedeću naredbu:

docker run --name my_test -it centos

U gornjoj naredbi, prekidači -it govore Dockeru da dodijeli pseudo-TTY povezan na stdin kontejnera i tako kreira interaktivnu bash školjku u kontejneru.

Možete izaći izdavanjem naredbe za izlaz kao što je prikazano.

exit

Ako ne želite da izađete, možete se odvojiti od kontejnera i ostaviti ga da radi. Da biste to uradili, koristite CTRL+p, a zatim CTRL+q sekvencu tastera.

Možete se ponovo povezati na kontejner pomoću naredbe attach koja će priložiti lokalni standardni ulaz, izlaz i tokove grešaka na pokrenuti kontejner:

docker attach my_test

Osim toga, možete pokrenuti kontejner u odvojenom načinu pomoću oznake -d. Zatim koristite naredbu attach da priključite standardni ulaz, izlaz i tokove grešaka vašeg terminala na tekući kontejner:

docker run --name my_test -d -it centos
docker attach my_test

Na kraju, ali ne i najmanje važno, možete zaustaviti pokrenuti kontejner iz host sesije pokretanjem sljedeće naredbe:

docker kill my_test

To je sve! U ovom vodiču smo pokrili kako instalirati i koristiti Docker CE u Ubuntu 20.04 Linuxu. Ako imate bilo kakvih pitanja, koristite obrazac za povratne informacije ispod da nas pitate.