Kā palaist Docker instanci no Docker faila?

Ka Palaist Docker Instanci No Docker Faila



Docker ir populāra atvērta platforma, ko plaši izmanto, lai izveidotu, pārbaudītu, izvietotu un nosūtītu lietojumprogrammas konteinerizētā vidē. Docker izmanto OS virtualizācijas līmeni un atbalsta dažādus komponentus, piemēram, Docker konteinerus, attēlus, tīklus un Docker apjomu.

Docker konteineri ir viens no būtiskākajiem Docker platformas komponentiem, kas iesaiņo programmu, konfigurācijas iestatījumus un atkarības, izmantojot Docker attēlu. Docker attēls ir vienkārša konteinera veidne vai momentuzņēmums, kas norāda konteineru, kā konteinerizēt lietojumprogrammu. Šie attēli lielākoties ir pieejami oficiālajā Docker centrmezgla reģistrā. Lietotāji var arī noformēt šos attēlus atbilstoši projekta prasībām, izmantojot Dockerfile.

Šajā emuārā tiks paskaidrots:







Kas ir Dockerfile?

Dockerfile ir parasts teksta fails, kurā ir komandas un instrukcijas, kas nosaka Docker konteinera pamatstruktūru. Šīs instrukcijas var izpildīt terminālī bez failiem, taču katras komandas palaišana pēc kārtas ir drudžains un sarežģīts uzdevums. Dockerfile ļauj izstrādātājiem viegli norādīt visas prasības un norādījumus vienā failā. Šis fails tiks izmantots, lai izveidotu konteinera veidni, kas ir Docker attēls. Pēc tam tiek izpildīts docker attēls, lai palaistu instanci Docker konteinerā.



Dockerfile pamata komandas

Dažas Dockerfile pamata komandas, kas tiek izmantotas, lai definētu konteinera pamata momentuzņēmumu, ir norādītas tālāk tabulas veidā:



Komandas Apraksts
NO ' NO ” komanda tiek izmantota, lai definētu konteinera veidnes pamata attēlu. Šie attēli ir iegūti no oficiālā Docker reģistra Docker Hub.
UZTURĒTĀJS ' UZTURĒTĀJS ” komanda nosaka autora informāciju (vārds un e-pasts), kurš veido Docker attēlu.
DARBA DIREKTĪVĀ Tas norāda konteinerizētās lietojumprogrammas darba direktoriju.
KOPĒT Izmanto, lai kopētu avota un konfigurācijas failus no resursdatora sistēmas uz norādīto Docker konteinera ceļu.
PIEVIENOT ' PIEVIENOT komanda ir līdzīga komandai KOPĒT ”, taču tā atbalsta arī attālo URL, lai pievienotu failu no URL konteinera ceļam, piemēram, no GitHub repozitorija uz konteinera ceļu.
RUN ' RUN ” tiek izmantots, lai izpildītu komandas konteinerā. Programmā Dockerfile to galvenokārt izmanto, lai pārvaldītu un instalētu papildu atkarības konteinerā.
CMD ' CMD ” definē Docker konteineru noklusējuma punktus. Tas būtībā nosaka izpildāmos failus un noklusējuma parametrus IEEJAS PUNKTS ”.
IEEJAS PUNKTS ' IEEJAS PUNKTS ” komanda tiek izmantota arī, lai iestatītu Docker konteinera izpildāmos failus. Tas būtībā nosaka noklusējuma lietojumprogrammas, kuras katru reizi tiek izmantotas konteinerā. Komanda ENTRYPOINT tiek izmantota arī vienreiz Dockerfile.
LIETOTĀJS Šī komanda tiek izmantota, lai iestatītu UID (lietotājvārdu), lai izpildītu komandas konteinerā
VOLUME ' VOLUME ” komanda tiek izmantota, lai saistītu vai pievienotu ārējo sējumu (failu sistēmu) ar konteineru.
ENV ' ENV ” komanda tiek izmantota, lai iestatītu konteinera vides mainīgos.
ARG ' ARG ” tiek izmantots, lai nodotu argumentus konteinerā.
ATKLĀJOT ' ATKLĀJOT ” komanda norāda atklātos portus, kuros tiks izpildīts konteiners.
ONBUILD Tas nolasa norādījumus no pamata attēla, bet aktivizē šos norādījumus, izmantojot pakārtoto attēlu.
LABEL ' LABEL ” tiek izmantots, lai norādītu konteinera momentuzņēmuma metadatus.

Kā palaist Docker instanci no Docker faila programmā Docker?

Lai palaistu Docker instanci vai konteineru, izmantojot Dockerfile, vispirms izveidojiet Dockerfile. Pēc tam izveidojiet pamata momentuzņēmumu konteineram, izmantojot Dockerfile. Pēc tam palaidiet momentuzņēmumu, lai palaistu Docker instanci.





Ilustrācijai izpildiet tālāk sniegtos norādījumus.

1. darbība: izveidojiet Docker failu

Vispirms izveidojiet Dockerfile. Atcerieties, ka Dockerfile nav neviena faila paplašinājuma. Pēc tam failā ielīmējiet šādas komandas:



NO golanga: 1.8

DARBA DIREKTĪVĀ / aiziet / src / lietotne

KOPĒT main.go .

RUN ej būvēt -O tīmekļa serveris.

ATKLĀJOT 8080 : 8080

IEEJAS PUNKTS [ './webserver' ]

2. darbība: izveidojiet programmas failu

Pēc tam izveidojiet jaunu failu ar nosaukumu ' galvenais.go ”, kurā ir vienkārša Golang programma. Šim nolūkam failā ielīmējiet šādu programmu:

galvenā pakete
imports (
'fmt'
'baļķis'
'net/http'
)

funkciju apdarinātājs ( In http.ResponseWriter, r * http.Pieprasījums ) {
fmt.Fprintf ( In , 'Sveiki! Laipni lūdzam LinuxHint apmācībā' )
}
galvenā funkcija ( ) {
http.HandleFunc ( '/' , apdarinātājs )
log.Lentenīgi ( http.ListenAndServe ( '0.0.0.0:8080' , nulle ) )
}

3. darbība: ģenerējiet konteinera momentuzņēmumu

Tagad izveidojiet konteinera Docker momentuzņēmumu, izmantojot “ docker build -t -f . ”:

dokera uzbūve -t go-img -f Dockerfile .

Iepriekš minētajā komandā ' -t opcija iestata attēla nosaukumu vai atzīmi, -f ” opcija norāda ceļu uz Dockerfile, no kura Docker programmai ir jālasa būvēšanas konteksts:

Lai pārbaudītu, vai attēls ir veiksmīgi izveidots, palaidiet ' docker images ” komanda:

docker images go-img

Izvade parāda, ka esam veiksmīgi izveidojuši konteinera momentuzņēmumu no Dockerfile:

4. darbība. Palaidiet momentuzņēmumu, lai aktivizētu konteineru

Tagad sāciet Docker instanci Docker konteinerā, izpildot konteinera momentuzņēmumu, kas izveidots iepriekš minētajā darbībā:

dokera skrējiens -lpp 8080 : 8080 -- vārds iet-turp -d go-img

Iepriekš minētajā komandā ' -lpp opcija palaiž konteineru uz ' 8080 'ports', ' -vārds ” iestata konteinera nosaukumu un “ -d ” opcija palaiž konteineru atdalītā režīmā (fona pakalpojums):

Lai pārbaudītu, vai konteiners tiek izpildīts vai ne, uzskaitiet esošos konteinerus, izmantojot ' dokeris ps ” komanda:

dokeris ps

Tagad dodieties uz ' http://localhost:8080 ” un pārbaudiet, vai lietojumprogramma darbojas atklātajā portā vai nē:

Iepriekš minētā izvade norāda, ka esam efektīvi startējuši Docker instanci, izmantojot Dockerfile.

Kā palaist gadījumu no Docker faila programmā Docker Compose?

Docker Compose ir vēl viens nozīmīgs Docker platformas spraudnis, kas ļauj mums vienlaikus palaist vairākus gadījumus dažādos konteineros. Lietotāji var arī palaist Docker instanci no Dockerfile, izmantojot Docker komponēšanas spraudni. Ilustrācijai veiciet norādītās darbības.

1. darbība: izveidojiet Dockerfile

Vispirms izveidojiet Dockerfile. Piemēram, mēs izmantojam to pašu Dockerfile un programmas failu, kas tiek izmantots iepriekš minētajā sadaļā:

NO golanga: 1.8

DARBA DIREKTĪVĀ / aiziet / src / lietotne

KOPĒT main.go .

RUN ej būvēt -O tīmekļa serveris.

ATKLĀJOT 8080 : 8080

IEEJAS PUNKTS [ './webserver' ]

2. darbība. Izveidojiet failu docker-compose.yml

Pēc tam izveidojiet ' docker-compose.yml ” failu un iekopējiet failā šādus atslēgu pārus:

versija: '3'

pakalpojumi:

tīmeklis:
būvēt: .
porti:
- 8080 : 8080

Iepriekš minētajā izgriezumā:

  • ' pakalpojumus ” tiek izmantots, lai norādītu komponēšanas pakalpojumus, kas tiks izpildīti atsevišķā konteinerā. Ilustrācijai mēs esam konfigurējuši tikai vienu pakalpojumu ' tīmeklī ”, lai kods būtu tīrs un vienkāršs.
  • ' būvēt ” atslēgu pāris tiek izmantots, lai nolasītu veidošanas kontekstu no Dockerfile. Šeit docker izlasīs norādījumus no Dockerfile un attiecīgi izveidos konteineru.
  • ' ostas ” atslēga definē atklātos portus, kuros tiks izpildīts konteiners.

3. darbība. Startējiet Docker instanci

Tagad palaidiet Docker gadījumu konteinerā, izmantojot “ dokeris-komponēt ” komanda:

dokeris-komponēt -d

Lai veiktu verifikāciju, pārbaudiet palaisto rakstīšanas konteineru sarakstu, izmantojot “ docker-compose ps ” komanda:

dokeris-komponēt ps

Izvade parāda, ka “ tīmeklī 'pakalpojums veiksmīgi darbojas ' golangapp-web-1 ” konteiners:

Dodieties uz sastādīšanas pakalpojuma atklāto portu un pārbaudiet, vai programma tiek izpildīta. Tālāk redzamais rezultāts parāda, ka esam veiksmīgi startējuši Docker instanci no Dockerfile, izmantojot Docker Compose:

Tas viss attiecas uz docker instances palaišanu no Dockerfile.

Secinājums

Lai izpildītu Docker instanci konteinerā no Dockerfile, vispirms izveidojiet Dockerfile. Pievienojiet failā esošās komandas, lai izveidotu Docker konteinera attēlu vai veidni. Pēc tam izveidojiet konteinera attēlu vai momentuzņēmumu, izmantojot docker build -t -f . ” komandu. Tagad izpildiet konteinera attēlu, lai palaistu Docker instanci. Lietotāji var arī izmantot Docker komponēšanu, lai palaistu Docker instanci no Dockerfile. Šajā rakstā ir parādīts, kā palaist Docker gadījumu no Dockerfile.