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'i põhikäsud
- Kuidas käitada eksemplari Dockeri failist Dockeris?
- Kuidas käitada eksemplari Dockeri failist Docker Compose'is?
- Järeldus
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 peamineimportida (
'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
Ü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
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.8TÖÖ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 psVä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