Kako pokrenuti Docker instancu iz Docker datoteke?

Kako Pokrenuti Docker Instancu Iz Docker Datoteke



Docker je popularna otvorena platforma koja se univerzalno koristi za izradu, testiranje, implementaciju i slanje aplikacija u kontejnerskom okruženju. Docker koristi razinu OS virtualizacije i podržava različite komponente kao što su Docker spremnici, slike, mreže i Docker volumen.

Docker spremnici jedna su od bitnih komponenti Docker platforme koja pakira program, konfiguracijske postavke i ovisnosti pomoću Docker slike. Docker slika je jednostavan predložak ili snimka spremnika koji vodi spremnik kako kontejnerizirati aplikaciju. Ove su slike uglavnom dostupne u službenom registru čvorišta Docker. Korisnici također mogu dizajnirati ove slike prema zahtjevima projekta koristeći Dockerfile.

Ovaj će blog objasniti:







Što je Dockerfile?

Dockerfile je normalna tekstualna datoteka koja sadrži naredbe i upute koje definiraju osnovnu strukturu Docker spremnika. Ove se instrukcije mogu izvršiti u terminalu bez ikakve datoteke, ali izvođenje svake naredbe jednu za jednom naporan je i složen zadatak. Dockerfile programerima olakšava specificiranje svih zahtjeva i uputa u jednu datoteku. Ova će se datoteka zatim koristiti za izradu predloška spremnika koji je Docker slika. Nakon toga se izvršava docker slika za pokretanje instance u Docker spremniku.



Osnovne naredbe Dockerfilea

Neke osnovne naredbe Dockerfilea koje se koriste za definiranje osnovne snimke spremnika navedene su u nastavku u obliku tablice:



Naredbe Opis
IZ ' IZ ” naredba se koristi za definiranje osnovne slike za predložak spremnika. Ove su slike preuzete iz službenog Docker registra Docker Hub.
ODRŽAVAČ ' ODRŽAVAČ ” naredba definira podatke o autoru (ime i e-pošta) koji stvara Docker sliku.
RADNI DIR Određuje radni direktorij kontejnerske aplikacije.
KOPIRATI Koristi se za kopiranje izvornih i konfiguracijskih datoteka s glavnog sustava na navedenu stazu Docker spremnika.
DODATI ' DODATI ' naredba je slična ' KOPIRATI ”, ali također podržava udaljeni URL za dodavanje datoteke s URL-a na put spremnika, kao što je iz GitHub spremišta na put spremnika.
TRČANJE ' TRČANJE ” koristi se za pokretanje naredbi u spremniku. U Dockerfileu se uglavnom koristi za upravljanje i instaliranje dodatnih ovisnosti unutar spremnika.
CMD CMD ” definira zadane točke Docker spremnika. U osnovi definira izvršne datoteke i zadane parametre ' ULAZNA TOČKA ”.
ULAZNA TOČKA ' ULAZNA TOČKA ” Naredba se također koristi za postavljanje izvršnih datoteka Docker spremnika. U osnovi postavlja zadane aplikacije koje se svaki put koriste u spremniku. Naredba ENTRYPOINT također se koristi jednom u Docker datoteci.
KORISNIK Ova se naredba koristi za postavljanje UID-a (korisničkog imena) za izvršavanje naredbi u spremniku
VOLUMEN ' VOLUMEN ” naredba se koristi za vezanje ili montiranje vanjskog volumena (datotečnog sustava) sa spremnikom.
ENV ' ENV ” naredba se koristi za postavljanje varijabli okoline spremnika.
ARG ' ARG ” koristi se za prosljeđivanje argumenata unutar spremnika.
IZLOŽITI ' IZLOŽITI ” naredba određuje portove za izlaganje na kojima će se spremnik izvršiti.
ONBUILD Čita upute s osnovne slike, ali ih pokreće putem nizvodne slike.
OZNAČITI ' OZNAČITI ” koristi se za određivanje metapodataka snimke spremnika.

Kako pokrenuti Docker instancu iz Docker datoteke u Dockeru?

Da biste pokrenuli Docker instancu ili spremnik koristeći Dockerfile, prvo izradite Dockerfile. Zatim napravite osnovnu snimku za spremnik koristeći Dockerfile. Nakon toga pokrenite snimku kako biste pokrenuli Docker instancu.





Za ilustraciju slijedite upute u nastavku.

Korak 1: Stvorite Dockerfile

Najprije izradite Dockerfile. Imajte na umu da Dockerfile nema nastavak datoteke. Nakon toga zalijepite sljedeće naredbe u datoteku:



IZ golanga: 1.8

RADNI DIR / ići / src / aplikacija

COPY main.go .

BJEČI idi gradi -O web poslužitelj.

IZLOŽITI 8080 : 8080

ULAZNA TOČKA [ './web poslužitelj' ]

Korak 2: Napravite programsku datoteku

Zatim napravite novu datoteku pod nazivom ' glavni.krenuti ” koji sadrži jednostavan Golang program. U tu svrhu zalijepite sljedeći program u datoteku:

glavni paket
uvoz (
'fmt'
'log'
'net/http'
)

rukovatelj func ( U http.ResponseWriter, r * http.Zahtjev ) {
fmt.Fprintf ( U , 'Zdravo! Dobro došli u vodič za LinuxHint' )
}
funkcija glavna ( ) {
http.HandleFunc ( '/' , rukovatelj )
log.Kobno ( http.ListenAndServe ( '0.0.0.0:8080' , nula ) )
}

Korak 3: Generirajte snimku spremnika

Sada izradite Docker snimku spremnika pomoću ' docker build -t -f . ”:

docker build -t go-img -f Dockerfile .

U gornjoj naredbi, ' -t ” opcija postavlja naziv ili oznaku slike, “ -f ” opcija navodi put do Dockerfilea iz kojeg Docker motor treba pročitati kontekst izgradnje:

Da provjerite je li slika uspješno kreirana ili ne, pokrenite ' docker slike ” naredba:

docker slike go-img

Izlaz pokazuje da smo uspješno stvorili snimku spremnika iz Dockerfilea:

Korak 4: Pokrenite Snapshot da pokrenete spremnik

Sada pokrenite instancu Dockera u Docker spremniku izvođenjem snimke spremnika koja je stvorena u gornjem koraku:

docker run -str 8080 : 8080 --Ime idi-nastavi -d go-img

U gornjoj naredbi, ' -str ' pokreće spremnik na ' 8080 'luka', -Ime ' postavlja naziv spremnika i ' -d ” opcija pokreće spremnik u odvojenom načinu rada (usluga u pozadini):

Da biste provjerili izvršava li se spremnik ili ne, popišite spremnike koji se izvode koristeći ' docker ps ” naredba:

lučki radnik p.s

Sada idite na ' http://localhost:8080 ” i provjerite radi li aplikacija na portu za izlaganje ili ne:

Gornji izlaz pokazuje da smo učinkovito pokrenuli Docker instancu koristeći Dockerfile.

Kako pokrenuti instancu iz Docker datoteke u Docker Compose?

Docker compose još je jedan veliki dodatak Docker platforme koji nam omogućuje pokretanje više instanci u različitim spremnicima odjednom. Korisnici također mogu pokrenuti Docker instancu iz Dockerfilea koristeći Docker dodatak za sastavljanje. Za ilustraciju, slijedite navedene korake.

Korak 1: Stvorite Dockerfile

Prvo stvorite Dockerfile. Na primjer, koristimo istu Dockerfile i programsku datoteku koje se koriste u gornjem odjeljku:

IZ golanga: 1.8

RADNI DIR / ići / src / aplikacija

COPY main.go .

BJEČI idi gradi -O web poslužitelj.

IZLOŽITI 8080 : 8080

ULAZNA TOČKA [ './web poslužitelj' ]

Korak 2: Napravite datoteku docker-compose.yml

Zatim stvorite ' docker-compose.yml ” i kopirajte sljedeće parove ključeva u datoteku:

verzija: '3'

usluge:

mreža:
izgraditi: .
luke:
- 8080 : 8080

U gore spomenutom isječku:

  • usluge ” koristi se za određivanje usluga sastavljanja koje će se izvoditi u zasebnom spremniku. Ilustracije radi, konfigurirali smo samo jednu uslugu “ mreža ” kako bi kod bio čist i jednostavan.
  • izgraditi ” par ključeva koristi se za čitanje konteksta izgradnje iz Dockerfilea. Ovdje će docker pročitati upute iz Dockerfilea i prema tome izgraditi spremnik.
  • luke ” ključ definira portove za otkrivanje na kojima će se spremnik pokrenuti.

Korak 3: Pokrenite Docker instancu

Sada pokrenite Docker instancu u spremniku koristeći ' docker-sastaviti ” naredba:

docker-sastaviti -d

Za potvrdu provjerite popis pokrenutih spremnika za sastavljanje pomoću ' docker-compose ps ” naredba:

docker-compose p.s

Izlaz pokazuje da je ' mreža ” usluga se uspješno izvršava u “ golangapp-web-1 ” kontejner:

Dođite do porta za otkrivanje usluge sastavljanja i provjerite izvršava li se program ili ne. Donji rezultat pokazuje da smo uspješno pokrenuli Docker instancu iz Dockerfilea koristeći Docker compose:

To je sve o pokretanju docker instance iz Dockerfilea.

Zaključak

Da biste izvršili Docker instancu u spremniku iz Dockerfilea, prvo stvorite Dockerfile. Dodajte naredbe unutar datoteke kako biste stvorili sliku ili predložak Docker spremnika. Zatim napravite sliku spremnika ili snimku pomoću ' docker build -t -f . ” naredba. Sada izvršite sliku spremnika da biste pokrenuli Docker instancu. Korisnici također mogu koristiti Docker compose za pokretanje Docker instance iz Dockerfilea. Ovaj post je ilustrirao kako pokrenuti Docker instancu iz Dockerfilea.