Kuidas käivitada Dockeri eksemplar Dockeri failist?

Kuidas Kaivitada Dockeri Eksemplar Dockeri Failist



Docker on populaarne avatud platvorm, mida kasutatakse laialdaselt konteinerkeskkonnas rakenduste ehitamiseks, testimiseks, juurutamiseks ja tarnimiseks. Docker kasutab OS-i virtualiseerimise taset ja toetab erinevaid komponente, nagu Dockeri konteinerid, pildid, võrgud ja Dockeri helitugevus.

Dockeri konteinerid on Dockeri platvormi üks olulisi komponente, mis pakib programmi, konfiguratsioonisätted ja sõltuvused Dockeri kujutise abil. Dockeri pilt on konteineri lihtne mall või hetktõmmis, mis juhendab konteinerit, kuidas rakendust konteinerisse paigutada. Need pildid on enamasti saadaval ametlikus Dockeri jaoturi registris. Kasutajad saavad Dockerfile'i abil neid pilte kujundada ka vastavalt projekti nõuetele.

See blogi selgitab:







Mis on Dockerfile?

Dockerfile on tavaline tekstifail, mis sisaldab käske ja juhiseid, mis määratlevad Dockeri konteineri põhistruktuuri. Neid juhiseid saab terminalis täita ilma failita, kuid iga käsu ükshaaval käivitamine on kirglik ja keeruline ülesanne. Dockerfile'i abil on arendajatel lihtne kõik nõuded ja juhised ühte faili määrata. Seda faili kasutatakse seejärel konteineri malli loomiseks, mis on Dockeri kujutis. Pärast seda käivitatakse Dockeri kujutis, et käivitada eksemplar Dockeri konteineris.



Dockerfile'i põhikäsud

Mõned Dockerfile'i põhikäsud, mida kasutatakse konteineri põhihetketõmmise määratlemiseks, on loetletud allpool tabelina.



Käsud Kirjeldus
FROM ' FROM ” kasutatakse konteinerimalli põhipildi määratlemiseks. Need pildid on võetud ametlikust Dockeri registrist Docker Hub.
HOOLDUS ' HOOLDUS ” käsk määrab Dockeri kujutist loova autori (nimi ja e-post) teabe.
TÖÖDIREKTOR See määrab konteinerrakenduse töökataloogi.
KOPERI Kasutatakse lähte- ja konfiguratsioonifailide kopeerimiseks hostsüsteemist Dockeri konteineri määratud teele.
LISAMA ' LISAMA ” käsk on sarnane käsuga „ KOPERI ” käsk, kuid see toetab ka kaug-URL-i, et lisada fail URL-ist konteineriteele (nt GitHubi hoidlast konteineriteele).
JOOKSE ' JOOKSE ” kasutatakse käskude käitamiseks konteineris. Dockerfile'is kasutatakse seda enamasti konteineri sees täiendavate sõltuvuste haldamiseks ja installimiseks.
CMD CMD ” määrab Dockeri konteinerite vaikepunktid. Põhimõtteliselt määratleb see faili ' käivitatavad failid ja vaikeparameetrid SISENEMISPUNKT ”.
SISENEMISPUNKT ' SISENEMISPUNKT ” käsku kasutatakse ka Dockeri konteineri käivitatavate failide määramiseks. Põhimõtteliselt määrab see vaikerakendused, mida iga kord konteineris kasutatakse. Käsku ENTRYPOINT kasutatakse ka Dockerfile'is üks kord.
KASUTAJA Seda käsku kasutatakse UID (kasutajanime) määramiseks konteineris olevate käskude täitmiseks
VOLUME ' VOLUME ” käsku kasutatakse välise köite (failisüsteemi) sidumiseks või ühendamiseks konteineriga.
ENV ' ENV ” kasutatakse konteineri keskkonnamuutujate määramiseks.
ARG ' ARG ” kasutatakse argumentide edastamiseks konteineris.
AVALDA ' AVALDA ” käsk määrab paljastavad pordid, millel konteiner käivitatakse.
ONBUHILD See loeb juhiseid põhipildilt, kuid käivitab need juhised allavoolu pildi kaudu.
LABEL ' LABEL ” kasutatakse konteineri hetktõmmise metaandmete täpsustamiseks.

Kuidas käivitada Dockeri eksemplar Dockeri failist?

Dockeri eksemplari või konteineri käitamiseks Dockerfile'i abil looge esmalt Dockerfile. Seejärel tehke Dockerfile'i abil konteineri põhihetktõmmis. Pärast seda käivitage Dockeri eksemplari käivitamiseks hetktõmmis.





Illustreerimiseks järgige allolevaid juhiseid.

1. samm: looge Dockeri fail

Esiteks looge Dockerfile. Pidage meeles, et Dockerfile'il pole faililaiendit. Pärast seda kleepige faili järgmised käsud:



golangist: 1.8

TÖÖDIREKTOR / mine / src / rakendus

KOPeeri main.go .

JOOKSE, mine ehita -O veebiserver .

AVALDA 8080 : 8080

SISENEMISPUNKT [ './veebiserver' ]

2. samm: looge programmifail

Järgmisena looge uus fail nimega ' main.go ”, mis sisaldab lihtsat Golangi programmi. Selleks kleepige faili järgmine programm:

pakett peamine
importida (
'fmt'
'logi'
'net/http'
)

func handler ( sisse http.ResponseWriter, r * http.Taotlus ) {
fmt.Fprintf ( sisse , 'Tere! Tere tulemast LinuxHinti õpetusse' )
}
func main ( ) {
http.HandleFunc ( '/' , käitleja )
logi.Saatuslik ( http.ListenAndServe ( '0.0.0.0:8080' , null ) )
}

3. samm: looge konteineri hetktõmmis

Nüüd looge konteinerist Dockeri hetktõmmis, kasutades ' docker build -t -f . ”:

dokkeri ehitamine -t go-img -f Dockerfile .

Ülaltoodud käsus on ' -t ' valik määrab pildi nime või sildi, ' -f ” suvand määrab Dockeri faili tee, millest Dockeri mootor peab lugema ehituskonteksti:

Et kontrollida, kas pilt on edukalt loodud või mitte, käivitage ' dokkeri pildid 'käsk:

docker images go-img

Väljund näitab, et oleme edukalt loonud konteineri hetktõmmise Dockerfile'ist:

4. samm: konteineri käivitamiseks käivitage hetktõmmis

Nüüd käivitage Dockeri eksemplar Dockeri konteineris, käivitades ülaltoodud sammuga loodud konteineri hetktõmmise:

dokijooks -lk 8080 : 8080 --nimi mine-jätk -d go-img

Ülaltoodud käsus on ' -lk ' suvand käivitab konteineri ' 8080 port, ' -nimi ' määrab konteineri nime ja ' -d ” suvand käivitab konteineri eraldatud režiimis (taustateenus):

Et kontrollida, kas konteiner töötab või mitte, loetlege töötavad konteinerid, kasutades käsku ' dokkija ps 'käsk:

dokkija ps

Nüüd navigeerige jaotisse ' http://localhost:8080 ” ja kontrollige, kas rakendus töötab paljastavas pordis või mitte:

Ülaltoodud väljund näitab, et oleme Dockeri eksemplari Dockerfile'i abil tõhusalt käivitanud.

Kuidas käitada eksemplari Dockeri failist Docker Compose'is?

Dockeri koostamine on Dockeri platvormi teine ​​​​suur pistikprogramm, mis võimaldab meil korraga käitada mitut eksemplari erinevates konteinerites. Kasutajad saavad Dockeri eksemplari käitada ka Dockerfile'ist, kasutades Dockeri koostamise pistikprogrammi. Illustreerimiseks järgige antud samme.

1. samm: looge Dockerfile

Esiteks looge Dockerfile. Näiteks kasutame sama Dockerfile'i ja programmifaili, mida kasutatakse ülaltoodud jaotises:

golangist: 1.8

TÖÖDIREKTOR / mine / src / rakendus

KOPeeri main.go .

JOOKSE, mine ehita -O veebiserver .

AVALDA 8080 : 8080

SISENEMISPUNKT [ './veebiserver' ]

2. toiming: looge fail docker-compose.yml

Järgmisena looge ' docker-compose.yml ” faili ja kopeerige faili järgmised võtmepaarid:

versioon: '3'

teenused:

võrk:
ehitada: .
pordid:
- 8080 : 8080

Ülalmainitud lõikes:

  • teenuseid ” kasutatakse koostamisteenuste määramiseks, mis käivitatakse eraldi konteineris. Näiteks oleme konfigureerinud ainult ühe teenuse ' võrk ”, et kood oleks puhas ja lihtne.
  • ehitada ” võtmepaari kasutatakse Dockerfile'i ehitamise konteksti lugemiseks. Siin loeb docker Dockerfile'i juhiseid ja ehitab konteineri vastavalt.
  • sadamad ” võti määrab paljastavad pordid, millel konteiner käivitatakse.

3. samm: käivitage Dockeri eksemplar

Nüüd käivitage Dockeri eksemplar konteineris, kasutades ' dokkija-koostama 'käsk:

dokkija-koostama -d

Kontrollimiseks kontrollige töötavate koostamiskonteinerite loendit, kasutades nuppu ' dokkija-koostamine ps 'käsk:

dokkija-komponeeri ps

Väljund näitab, et ' võrk teenus töötab edukalt golangapp-web-1 ” konteiner:

Liikuge koostamisteenuse paljastavasse porti ja kontrollige, kas programm käivitub või mitte. Allolev tulemus näitab, et oleme edukalt käivitanud Dockeri eksemplari Dockerfile'ist, kasutades Dockeri koostamist:

See kõik puudutab Dockeri eksemplari käitamist Dockerfile'ist.

Järeldus

Dockeri eksemplari käivitamiseks Dockerfile'i konteineris looge esmalt Dockerfile. Dockeri konteineri pildi või malli loomiseks lisage faili sees olevad käsud. Seejärel tehke konteineri kujutis või hetktõmmis, kasutades ' docker build -t -f . ” käsk. Nüüd käivitage Dockeri eksemplari käivitamiseks konteineri kujutis. Kasutajad saavad kasutada ka Dockeri koostamist Dockeri eksemplari käitamiseks Dockerfile'ist. See postitus on illustreerinud, kuidas käivitada Dockeri eksemplar Dockerfile'ist.