Kako zagnati primerek Docker iz datoteke Docker?

Kako Zagnati Primerek Docker Iz Datoteke Docker



Docker je zelo priljubljena odprta platforma, ki se univerzalno uporablja za gradnjo, testiranje, uvajanje in pošiljanje aplikacij v kontejnersko okolje. Docker uporablja raven virtualizacije OS in podpira različne komponente, kot so vsebniki Docker, slike, omrežja in nosilec Docker.

Vsebniki Docker so ena bistvenih komponent platforme Docker, ki pakira program, nastavitve konfiguracije in odvisnosti z uporabo slike Docker. Slika Docker je preprosta predloga ali posnetek vsebnika, ki vodi vsebnik, kako zapreti aplikacijo v vsebnik. Te slike so večinoma na voljo v uradnem registru središča Docker. Uporabniki lahko tudi oblikujejo te slike v skladu z zahtevami projekta z uporabo Dockerfile.

Ta blog bo pojasnil:







Kaj je Dockerfile?

Datoteka Docker je običajna besedilna datoteka, ki vsebuje ukaze in navodila, ki določajo osnovno strukturo vsebnika Docker. Ta navodila je mogoče izvesti v terminalu brez kakršne koli datoteke, vendar je izvajanje vsakega ukaza enega za drugim naporna in zapletena naloga. Dockerfile razvijalcem olajša podajanje vseh zahtev in navodil v eno datoteko. Ta datoteka bo nato uporabljena za izdelavo predloge vsebnika, ki je slika Docker. Po tem se izvede slika dockerja za zagon primerka v vsebniku Docker.



Osnovni ukazi Dockerfile

Nekateri osnovni ukazi datoteke Dockerfile, ki se uporabljajo za definiranje osnovnega posnetka vsebnika, so navedeni spodaj v obliki tabele:



Ukazi Opis
OD ' OD ” se uporablja za definiranje osnovne slike za predlogo vsebnika. Te slike so pridobljene iz uradnega registra Docker Hub.
VZDRŽEVALEC ' VZDRŽEVALEC ” Ukaz določa informacije o avtorju (ime in e-pošta), ki ustvarja sliko Docker.
DELOVNI DIR Določa delovni imenik aplikacije v vsebniku.
KOPIRATI Uporablja se za kopiranje izvornih in konfiguracijskih datotek iz gostiteljskega sistema na določeno pot vsebnika Docker.
DODAJ ' DODAJ ' je podoben ukazu ' KOPIRATI ”, podpira pa tudi oddaljeni URL za dodajanje datoteke iz URL-ja na pot vsebnika, na primer iz repozitorija GitHub na pot vsebnika.
TECI ' TECI ” se uporablja za izvajanje ukazov v vsebniku. V Dockerfile se večinoma uporablja za upravljanje in namestitev dodatnih odvisnosti znotraj vsebnika.
CMD CMD ” definira privzete točke vsebnikov Docker. V bistvu definira izvršljive datoteke in privzete parametre » VSTOPNA TOČKA ”.
VSTOPNA TOČKA ' VSTOPNA TOČKA ” Ukaz se uporablja tudi za nastavitev izvedljivih datotek vsebnika Docker. V bistvu nastavi privzete aplikacije, ki se vsakič uporabljajo v vsebniku. Ukaz ENTRYPOINT se enkrat uporabi tudi v datoteki Docker.
UPORABNIK Ta ukaz se uporablja za nastavitev UID (uporabniškega imena) za izvajanje ukazov v vsebniku
GLASNOST ' GLASNOST ” se uporablja za povezovanje ali pripenjanje zunanjega nosilca (datotečnega sistema) z vsebnikom.
ENV ' ENV ” se uporablja za nastavitev spremenljivk okolja vsebnika.
ARG ' ARG ” se uporablja za posredovanje argumentov znotraj vsebnika.
IZPOSTITE ' IZPOSTITE ” ukaz določa razkrivajoča vrata, na katerih se bo vsebnik izvajal.
ONBUILD Bere navodila iz osnovne slike, vendar ta navodila sproži prek spodnje slike.
OZNAKA ' OZNAKA ” se uporablja za določanje metapodatkov posnetka vsebnika.

Kako zagnati primerek Docker iz datoteke Docker v Dockerju?

Če želite zagnati primerek ali vsebnik Docker z uporabo Dockerfile, najprej ustvarite Dockerfile. Nato naredite osnovni posnetek vsebnika s pomočjo Dockerfile. Po tem zaženite posnetek, da zaženete primerek Docker.





Sledite spodnjim navodilom za ilustracijo.

1. korak: Ustvarite datoteko Docker

Najprej ustvarite Dockerfile. Ne pozabite, da Dockerfile nima nobene datotečne pripone. Nato v datoteko prilepite naslednje ukaze:



IZ golanga: 1.8

DELOVNI DIR / pojdi / src / aplikacija

KOPIRAJ main.go .

RUN go build -O spletni strežnik.

IZPOSTITE 8080 : 8080

VSTOPNA TOČKA [ './spletni strežnik' ]

2. korak: Ustvarite programsko datoteko

Nato ustvarite novo datoteko z imenom ' main.go «, ki vsebuje preprost program Golang. V ta namen v datoteko prilepite naslednji program:

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

upravljalnik funkcij ( noter http.ResponseWriter, r * http.Zahteva ) {
fmt.Fprintf ( noter , 'Pozdravljeni! Dobrodošli v vadnici LinuxHint' )
}
func main ( ) {
http.HandleFunc ( '/' , vodja )
log.Usodno ( http.ListenAndServe ( '0.0.0.0:8080' , nič ) )
}

3. korak: Ustvarite posnetek vsebnika

Zdaj sestavite Dockerjev posnetek vsebnika z uporabo » docker build -t -f . ”:

gradnjo dockerja -t go-img -f Dockerfile .

V zgornjem ukazu je » -t ” nastavi ime ali oznako slike, “ -f ” določa pot do datoteke Dockerfile, iz katere mora motor Docker prebrati kontekst gradnje:

Če želite preveriti, ali je slika uspešno ustvarjena ali ne, zaženite » docker slike ” ukaz:

docker slike go-img

Izhod kaže, da smo uspešno ustvarili posnetek vsebnika iz datoteke Dockerfile:

4. korak: Zaženite posnetek, da zaženete vsebnik

Zdaj zaženite primerek Dockerja v vsebniku Docker tako, da izvedete posnetek vsebnika, ki je ustvarjen v zgornjem koraku:

docker run -str 8080 : 8080 --ime go-cont -d go-img

V zgornjem ukazu je » -str ' zažene vsebnik na ' 8080 ' pristanišče ' – ime « nastavi ime vsebnika in » -d ” zažene vsebnik v ločenem načinu (storitev v ozadju):

Če želite preveriti, ali se vsebnik izvaja ali ne, navedite vsebnike, ki se izvajajo, s pomočjo » docker ps ” ukaz:

docker ps

Zdaj se pomaknite do » http://localhost:8080 « in preverite, ali se aplikacija izvaja na izpostavljajočih vratih ali ne:

Zgornji izhod kaže, da smo primerek Docker učinkovito zagnali z uporabo Dockerfile.

Kako zagnati primerek iz datoteke Docker v Docker Compose?

Docker compose je še en pomemben vtičnik platforme Docker, ki nam omogoča zagon več primerkov v različnih vsebnikih hkrati. Uporabniki lahko primerek Docker zaženejo tudi iz datoteke Dockerfile s pomočjo vtičnika za sestavljanje Docker. Za ponazoritev sledite podanim korakom.

1. korak: Ustvarite Dockerfile

Najprej ustvarite Dockerfile. Na primer, uporabljamo isto datoteko Docker in programsko datoteko, ki sta uporabljeni v zgornjem razdelku:

IZ golanga: 1.8

DELOVNI DIR / pojdi / src / aplikacija

KOPIRAJ main.go .

RUN go build -O spletni strežnik.

IZPOSTITE 8080 : 8080

VSTOPNA TOČKA [ './spletni strežnik' ]

2. korak: Ustvarite datoteko docker-compose.yml

Nato ustvarite » docker-compose.yml ” in kopirajte naslednje pare ključev v datoteko:

različica: '3'

storitve:

splet:
zgraditi:.
vrata:
- 8080 : 8080

V zgoraj omenjenem izrezku:

  • storitve ” se uporablja za določanje storitev sestavljanja, ki se bodo izvajale v ločenem vsebniku. Za ilustracijo smo konfigurirali samo eno storitev ' splet ”, da bo koda čista in preprosta.
  • graditi ” par ključev se uporablja za branje konteksta gradnje iz datoteke Dockerfile. Tukaj bo docker prebral navodila iz datoteke Dockerfile in ustrezno zgradil vsebnik.
  • pristanišča ” definira razkrivajoča vrata, na katerih se bo vsebnik izvajal.

3. korak: Zaženite primerek Docker

Zdaj zaženite primerek Dockerja v vsebniku z uporabo » docker-sestavi ” ukaz:

docker-sestavi -d

Za preverjanje preverite seznam delujočih vsebnikov za sestavljanje z uporabo » docker-compose ps ” ukaz:

docker-compose ps

Rezultat kaže, da je ' splet ” storitev se uspešno izvaja v “ golangapp-web-1 ” posoda:

Pomaknite se do razkritih vrat storitve sestavljanja in preverite, ali se program izvaja ali ne. Spodnji rezultat kaže, da smo uspešno zagnali primerek Dockerja iz datoteke Dockerfile z uporabo Docker compose:

To je vse o izvajanju primerka docker iz datoteke Dockerfile.

Zaključek

Če želite izvesti primerek Dockerja v vsebniku iz datoteke Dockerfile, najprej ustvarite datoteko Dockerfile. Dodajte ukaze znotraj datoteke, da ustvarite sliko ali predlogo vsebnika Docker. Nato naredite sliko vsebnika ali posnetek s pomočjo » docker build -t -f . ” ukaz. Zdaj izvedite sliko vsebnika, da zaženete primerek Docker. Uporabniki lahko uporabijo tudi Docker compose za zagon primerka Docker iz Dockerfile. Ta objava je ponazorila, kako zagnati primerek Docker iz datoteke Docker.