Kaip paleisti „Docker“ egzempliorių iš „Dockerfile“?

Kaip Paleisti Docker Egzemplioriu Is Dockerfile



„Docker“ yra labai mėgstama atvira platforma, kuri visuotinai naudojama kuriant, testuojant, diegiant ir siunčiant programas konteinerinėje aplinkoje. „Docker“ naudoja OS virtualizacijos lygį ir palaiko įvairius komponentus, tokius kaip „Docker“ konteineriai, vaizdai, tinklai ir „Docker“ apimtis.

„Docker“ konteineriai yra vienas iš esminių „Docker“ platformos komponentų, kurie supakuoja programą, konfigūracijos parametrus ir priklausomybes naudojant „Docker“ vaizdą. „Docker“ vaizdas yra paprastas konteinerio šablonas arba momentinė nuotrauka, kuri nurodo, kaip sudėti programą. Šiuos vaizdus dažniausiai galima rasti oficialiame „Docker“ centro registre. Vartotojai taip pat gali kurti šiuos vaizdus pagal projekto reikalavimus naudodami „Dockerfile“.

Šiame tinklaraštyje bus paaiškinta:







Kas yra Dockerfile?

Dockerfile yra įprastas tekstinis failas, kuriame yra komandos ir instrukcijos, apibrėžiančios pagrindinę Docker konteinerio struktūrą. Šios instrukcijos gali būti vykdomos terminale be jokio failo, tačiau kiekvienos komandos paleidimas po vienos yra įtempta ir sudėtinga užduotis. „Dockerfile“ leidžia kūrėjams lengvai nurodyti visus reikalavimus ir instrukcijas viename faile. Tada šis failas bus naudojamas sudėtinio rodinio šablonui, kuris yra „Docker“ vaizdas, sukurti. Po to paleidžiamas docker vaizdas, kad būtų paleistas egzempliorius Docker konteineryje.



Pagrindinės „Dockerfile“ komandos

Kai kurios pagrindinės „Dockerfile“ komandos, naudojamos pagrindiniam konteinerio momentiniam vaizdui apibrėžti, yra išvardytos toliau lentelės forma:



Komandos apibūdinimas
NUO NUO “ komanda naudojama pagrindiniam konteinerio šablono vaizdui apibrėžti. Šie vaizdai paimti iš oficialaus „Docker“ registro „Docker Hub“.
PRIEŽIŪRA PRIEŽIŪRA “ komanda apibrėžia informaciją apie autorių (vardą ir el. pašto adresą), kuris kuria „Docker“ vaizdą.
DARBO VADOVAS Jis nurodo konteinerinės programos darbo katalogą.
KOPIJUOT Naudojamas šaltinio ir konfigūracijos failams nukopijuoti iš pagrindinės sistemos į nurodytą Docker konteinerio kelią.
PAPILDYTI PAPILDYTI “ komanda yra panaši į „ KOPIJUOT “, tačiau ji taip pat palaiko nuotolinį URL, kad būtų galima pridėti failą iš URL į sudėtinio rodinio kelią, pvz., iš „GitHub“ saugyklos į sudėtinio rodinio kelią.
BĖGTI BĖGTI “ naudojamas komandoms vykdyti konteineryje. „Dockerfile“ jis dažniausiai naudojamas papildomoms priklausomybėms konteinerio viduje valdyti ir įdiegti.
CMD CMD “ apibrėžia numatytuosius Docker konteinerių taškus. Tai iš esmės apibrėžia vykdomuosius failus ir numatytuosius parametrus ĮEJIMAS “.
ĮEJIMAS ĮEJIMAS ” komanda taip pat naudojama „Docker“ konteinerio vykdomiesiems failams nustatyti. Iš esmės jame nustatomos numatytosios programos, kurios kiekvieną kartą naudojamos konteineryje. Komanda ENTRYPOINT taip pat vieną kartą naudojama Dockerfile.
VARTOTOJAS Ši komanda naudojama UID (vartotojo vardui) nustatyti, kad būtų vykdomos sudėtinio rodinio komandas
TOMAS TOMAS ” komanda naudojama išoriniam tomui (failų sistemai) su konteineriu susieti arba prijungti.
ENV ENV “ komanda naudojama konteinerio aplinkos kintamiesiems nustatyti.
ARG ARG “ naudojamas argumentams perduoti konteinerio viduje.
ATSAKYTI ATSAKYTI ” komanda nurodo atviruosius prievadus, kuriuose bus vykdomas konteineris.
ONBULD Jis nuskaito instrukcijas iš pagrindinio vaizdo, bet suaktyvina šias instrukcijas per paskesnį vaizdą.
ETIKETĖ ETIKETĖ “ naudojamas konteinerio momentinės nuotraukos metaduomenims nurodyti.

Kaip paleisti „Docker“ egzempliorių iš „Docker“ failo „Docker“?

Norėdami paleisti „Docker“ egzempliorių arba konteinerį naudodami „Dockerfile“, pirmiausia sukurkite „Dockerfile“. Tada sukurkite pagrindinį konteinerio momentinį vaizdą naudodami „Dockerfile“. Po to paleiskite momentinę nuotrauką, kad paleistumėte „Docker“ egzempliorių.





Vadovaukitės toliau pateiktomis iliustravimo instrukcijomis.

1 veiksmas: sukurkite „Dockerfile“.

Pirmiausia sukurkite Dockerfile. Atminkite, kad „Dockerfile“ neturi jokio failo plėtinio. Po to į failą įklijuokite šias komandas:



IŠ golango: 1.8

DARBO VADOVAS / eik / src / programėlė

KOPIJUOTI main.go .

BĖKITE, eikite statyti -O Tinklapio serveris .

ATSAKYTI 8080 : 8080

ĮEJIMAS [ './Tinklapio serveris' ]

2 veiksmas: sukurkite programos failą

Tada sukurkite naują failą pavadinimu ' pagrindinis.go “, kuriame yra paprasta Golang programa. Šiuo tikslu į failą įklijuokite šią programą:

pagrindinis paketas
importuoti (
'fmt'
'rąstas'
'net/http'
)

funkcijų tvarkytojas ( Į http.ResponseWriter, r * http.Užklausa ) {
fmt.Fprintf ( Į , 'Sveiki! Sveiki atvykę į LinuxHint mokymo programą' )
}
pagrindinė funkcija ( ) {
http.HandleFunc ( '/' , prižiūrėtojas )
log.Mirtina ( http.ListenAndServe ( '0.0.0.0:8080' , nulis ) )
}

3 veiksmas: sukurkite sudėtinio rodinio momentinę nuotrauką

Dabar sukurkite konteinerio Docker momentinį vaizdą naudodami „ docker build -t -f . “:

dokerio konstrukcija -t go-img -f Dockerfile .

Aukščiau pateiktoje komandoje „ -t “ parinktis nustato vaizdo pavadinimą arba žymą, “ -f “ parinktis nurodo kelią į Dockerfile, iš kurio Docker variklis turi nuskaityti kūrimo kontekstą:

Norėdami patikrinti, ar vaizdas sėkmingai sukurtas, paleiskite „ docker images “ komanda:

docker images go-img

Išvestis rodo, kad sėkmingai sukūrėme konteinerio momentinį vaizdą iš Dockerfile:

4 veiksmas: paleiskite momentinę nuotrauką, kad suaktyvintumėte konteinerį

Dabar paleiskite „Docker“ egzempliorių „Docker“ konteineryje vykdydami konteinerio momentinį vaizdą, sukurtą atliekant aukščiau pateiktą veiksmą:

dokininko bėgimas -p 8080 : 8080 --vardas eik-tęsinys -d go-img

Aukščiau pateiktoje komandoje „ -p “ parinktis paleidžia konteinerį „ 8080 'uostas', ' -vardas “ nustato konteinerio pavadinimą ir „ -d Parinktis paleidžia konteinerį atskirtu režimu (foninė paslauga):

Norėdami patikrinti, ar konteineris vykdomas, ar ne, surašykite veikiančių sudėtinių rodinių sąrašą naudodami „ dokeris ps “ komanda:

dokininkas ps

Dabar eikite į „ http://localhost:8080 “ ir patikrinkite, ar programa veikia atvirame prievade, ar ne:

Aukščiau pateikta išvestis rodo, kad mes veiksmingai pradėjome „Docker“ egzempliorių naudodami „Dockerfile“.

Kaip paleisti egzempliorių iš „Dockerfile“ programoje „Docker Compose“?

„Docker compose“ yra dar vienas pagrindinis „Docker“ platformos papildinys, leidžiantis vienu metu paleisti kelis egzempliorius skirtinguose konteineriuose. Vartotojai taip pat gali paleisti „Docker“ egzempliorių iš „Dockerfile“ naudodami „Docker“ kūrimo papildinį. Norėdami iliustruoti, atlikite nurodytus veiksmus.

1 veiksmas: sukurkite „Dockerfile“.

Pirmiausia sukurkite Dockerfile. Pavyzdžiui, mes naudojame tą patį Dockerfile ir programos failą, kurie naudojami aukščiau esančiame skyriuje:

IŠ golango: 1.8

DARBO VADOVAS / eik / src / programėlė

KOPIJUOTI main.go .

BĖKITE, eikite statyti -O Tinklapio serveris .

ATSAKYTI 8080 : 8080

ĮEJIMAS [ './Tinklapio serveris' ]

2 veiksmas: sukurkite failą docker-compose.yml

Tada sukurkite „ docker-compose.yml ” failą ir į failą nukopijuokite šias raktų poras:

versija: '3'

paslaugos:

žiniatinklis:
statyti:.
prievadai:
- 8080 : 8080

Aukščiau paminėtoje iškarpoje:

  • paslaugos “ naudojamas norint nurodyti kūrimo paslaugas, kurios bus vykdomos atskirame konteineryje. Pavyzdžiui, mes sukonfigūravome tik vieną paslaugą “ žiniatinklio “, kad kodas būtų aiškus ir paprastas.
  • statyti “ raktų pora naudojama kūrimo kontekstui iš Dockerfile nuskaityti. Čia „Docker“ perskaitys „Dockerfile“ instrukcijas ir atitinkamai sukurs konteinerį.
  • prievadai “ klavišas apibrėžia atvirus prievadus, kuriuose bus vykdomas konteineris.

3 veiksmas: paleiskite „Docker“ egzempliorių

Dabar paleiskite „Docker“ egzempliorių konteineryje naudodami „ dokeris-komponuoti “ komanda:

dokeris-komponuoti -d

Norėdami patikrinti, patikrinkite veikiančių kūrimo konteinerių sąrašą naudodami „ dokeris-komponuoti ps “ komanda:

dokininkas-komponuoti ps

Išvestis rodo, kad „ žiniatinklio paslauga sėkmingai vykdoma golangapp-web-1 “ konteineris:

Eikite į atskleidžiamą kūrimo paslaugos prievadą ir patikrinkite, ar programa vykdoma, ar ne. Žemiau pateiktas rezultatas rodo, kad sėkmingai pradėjome „Docker“ egzempliorių iš „Dockerfile“ naudodami „Docker Compose“:

Tai viskas apie „Docker“ egzemplioriaus paleidimą iš „Dockerfile“.

Išvada

Norėdami vykdyti Docker egzempliorių konteineryje iš Dockerfile, pirmiausia sukurkite Dockerfile. Pridėkite komandas faile, kad sukurtumėte Docker konteinerio vaizdą arba šabloną. Tada sukurkite konteinerio vaizdą arba momentinę nuotrauką naudodami „ docker build -t -f . “ komanda. Dabar paleiskite konteinerio vaizdą, kad paleistumėte „Docker“ egzempliorių. Vartotojai taip pat gali naudoti „Docker“ kūrimą, norėdami paleisti „Docker“ egzempliorių iš „Dockerfile“. Šis įrašas iliustruoja, kaip paleisti „Docker“ egzempliorių iš „Dockerfile“.