Kuinka ajaa Docker-ilmentymä Docker-tiedostosta?

Kuinka Ajaa Docker Ilmentyma Docker Tiedostosta



Docker on suosittu avoin alusta, jota käytetään yleisesti sovellusten rakentamiseen, testaamiseen, käyttöönottoon ja toimittamiseen konttiympäristössä. Docker käyttää käyttöjärjestelmän virtualisointitasoa ja tukee erilaisia ​​​​komponentteja, kuten Docker-säilöjä, kuvia, verkkoja ja Docker-taltiota.

Docker-säilöt ovat yksi Docker-alustan olennaisista osista, joka pakkaa ohjelman, kokoonpanoasetukset ja riippuvuudet Docker-kuvan avulla. Docker-kuva on yksinkertainen malli tai tilannekuva säilöstä, joka ohjaa säilöä sovelluksen säilömiseen. Nämä kuvat ovat useimmiten saatavilla virallisessa Docker-keskittimen rekisterissä. Käyttäjät voivat myös suunnitella nämä kuvat projektin vaatimusten mukaisesti Dockerfile-sovelluksella.

Tämä blogi selittää:







Mikä on Dockerfile?

Dockerfile on tavallinen tekstitiedosto, joka sisältää komentoja ja ohjeita, jotka määrittelevät Docker-säilön perusrakenteen. Nämä ohjeet voidaan suorittaa päätteessä ilman tiedostoa, mutta jokaisen komennon suorittaminen yksitellen on hektinen ja monimutkainen tehtävä. Dockerfilen avulla kehittäjien on helppo määrittää kaikki vaatimukset ja ohjeet yhteen tiedostoon. Tätä tiedostoa käytetään sitten säilömallin rakentamiseen, joka on Docker-kuva. Tämän jälkeen Docker-kuva suoritetaan käynnistämään ilmentymä Docker-säiliössä.



Dockerfilen peruskomennot

Jotkut Dockerfilen peruskomennot, joita käytetään säilön perusvedoksen määrittämiseen, on lueteltu alla taulukkomuodossa:



komennot Kuvaus
FROM ' FROM ” -komentoa käytetään määrittämään säiliömallin peruskuva. Nämä kuvat on otettu virallisesta Docker-rekisteristä Docker Hub.
YLLÄPITO ' YLLÄPITO ”-komento määrittää tekijän (nimi ja sähköpostiosoite) tiedot, joka luo Docker-kuvan.
TYÖOHJ Se määrittää konttisovelluksen työhakemiston.
KOPIO Käytetään kopioimaan lähde- ja määritystiedostot isäntäjärjestelmästä määritettyyn Docker-säilön polkuun.
LISÄTÄ ' LISÄTÄ '-komento on samanlainen kuin ' KOPIO ”-komentoa, mutta se tukee myös etä-URL-osoitetta tiedoston lisäämiseksi URL-osoitteesta säilöpolkuun, kuten GitHub-arkistosta säilöpolkuun.
JUOSTA ' JUOSTA ' käytetään komentojen suorittamiseen säilössä. Dockerfilessa sitä käytetään enimmäkseen ylimääräisten riippuvuuksien hallintaan ja asentamiseen säilön sisällä.
CMD ' CMD ” määrittää Docker-säiliöiden oletuspisteet. Se määrittää pohjimmiltaan '' -tiedoston suoritettavat tiedostot ja oletusparametrit SISÄÄNTULOPISTE ”.
SISÄÄNTULOPISTE ' SISÄÄNTULOPISTE ” -komentoa käytetään myös Docker-säilön suoritettavien tiedostojen asettamiseen. Se määrittää periaatteessa oletussovellukset, joita käytetään säilössä joka kerta. ENTRYPOINT-komentoa käytetään myös kerran Docker-tiedostossa.
KÄYTTÄJÄ Tällä komennolla asetetaan UID (käyttäjänimi) suorittamaan komennot säilössä
VOLUME ' VOLUME ” -komentoa käytetään ulkoisen taltion (tiedostojärjestelmän) sitomiseen tai liittämiseen säilöllä.
ENV ' ENV ”-komentoa käytetään säilön ympäristömuuttujien asettamiseen.
ARG ' ARG ' käytetään argumenttien välittämiseen säilön sisällä.
PALJISTA ' PALJISTA ”-komento määrittää paljastavat portit, joissa kontti suoritetaan.
ONBUILD Se lukee ohjeet peruskuvasta, mutta laukaisee nämä ohjeet alavirran kuvan kautta.
LABEL ' LABEL ' käytetään määrittämään säilön tilannekuvan metatiedot.

Kuinka ajaa Docker-ilmentymä Docker-tiedostosta Dockerissa?

Jos haluat suorittaa Docker-esiintymän tai säilön Dockerfile-sovelluksella, luo ensin Docker-tiedosto. Tee sitten säilön perustilannekuva Dockerfilellä. Suorita sen jälkeen tilannekuva käynnistääksesi Docker-esiintymän.





Seuraa alla olevia ohjeita.

Vaihe 1: Luo Docker-tiedosto

Luo ensin Docker-tiedosto. Muista, että Dockerfilella ei ole tiedostopäätettä. Liitä sen jälkeen tiedostoon seuraavat komennot:



Golangista: 1.8

TYÖOHJ / mennä / src / sovellus

KOPIO main.go .

RUN mene rakentamaan -O verkkopalvelin .

PALJISTA 8080 : 8080

SISÄÄNTULOPISTE [ './verkkopalvelin' ]

Vaihe 2: Tee ohjelmatiedosto

Tee seuraavaksi uusi tiedosto nimeltä ' main.go ', joka sisältää yksinkertaisen Golang-ohjelman. Liitä tätä varten tiedostoon seuraava ohjelma:

pääpaketti
tuonti (
'fmt'
'Hirsi'
'net/http'
)

toimintokäsittelijä ( Sisään http.ResponseWriter, r * http.Pyyntö ) {
fmt.Fprintf ( Sisään , 'Hei! Tervetuloa LinuxHint-opetusohjelmaan' )
}
func main ( ) {
http.HandleFunc ( '/' , käsittelijä )
loki.Kohtalovaa ( http.ListenAndServe ( '0.0.0.0:8080' , nolla ) )
}

Vaihe 3: Luo säilön tilannekuva

Luo nyt Dockerin tilannekuva säilöstä käyttämällä ' docker build -t -f . ':

telakkarakennelma -t go-img -f Dockerfile.

Yllä olevassa komennossa ' -t ' -vaihtoehto asettaa kuvan nimen tai tunnisteen, ' -f ” -vaihtoehto määrittää polun Docker-tiedostoon, josta Docker-moottorin on luettava koontikonteksti:

Voit tarkistaa, onko kuva luotu onnistuneesti vai ei, suorittamalla ' telakointikuvat 'komento:

docker images go-img

Tulos osoittaa, että olemme luoneet onnistuneesti säilön tilannekuvan Docker-tiedostosta:

Vaihe 4: Käynnistä säiliö käynnistämällä tilannekuva

Aloita nyt Dockerin ilmentymä Docker-säiliössä suorittamalla säilön tilannekuva, joka on luotu yllä olevassa vaiheessa:

telakkajuoksu -s 8080 : 8080 --nimi jatka-jatkoa -d go-img

Yllä olevassa komennossa ' -s ' -vaihtoehto ajaa säilön ' 8080 ' portti ' -nimi ' määrittää säilön nimen ja ' -d ” -vaihtoehto ajaa konttia irrotetussa tilassa (taustapalvelu):

Voit tarkistaa, suoritetaanko säilö vai ei, luettele käynnissä olevat säilöt alas käyttämällä ' telakka ps 'komento:

satamatyöläinen ps

Siirry nyt kohtaan ' http://localhost:8080 ' ja tarkista, onko sovellus käynnissä paljastavassa portissa vai ei:

Yllä oleva tulos osoittaa, että olemme tehokkaasti käynnistäneet Docker-instanssin Dockerfile-sovelluksella.

Kuinka ajaa ilmentymä Docker-tiedostosta Docker Composessa?

Docker Compose on toinen tärkeä Docker-alustan laajennus, jonka avulla voimme ajaa useita esiintymiä eri säilöissä kerralla. Käyttäjät voivat myös ajaa Docker-instanssia Dockerfilesta käyttämällä Dockerin kirjoituslaajennusta. Noudata annettuja ohjeita esimerkkinä.

Vaihe 1: Luo Docker-tiedosto

Luo ensin Docker-tiedosto. Käytämme esimerkiksi samaa Docker-tiedostoa ja ohjelmatiedostoa, joita käytetään yllä olevassa osiossa:

Golangista: 1.8

TYÖOHJ / mennä / src / sovellus

KOPIO main.go .

RUN mene rakentamaan -O verkkopalvelin .

PALJISTA 8080 : 8080

SISÄÄNTULOPISTE [ './verkkopalvelin' ]

Vaihe 2: Tee docker-compose.yml-tiedosto

Luo seuraavaksi ' docker-compose.yml ” tiedosto ja kopioi seuraavat avainparit tiedostoon:

versio: '3'

palvelut:

web:
rakentaa:.
portit:
- 8080 : 8080

Yllä mainitussa katkaistussa:

  • ' palvelut ” käytetään määrittämään erillisessä säilössä suoritettavat kirjoituspalvelut. Esimerkkinä olemme määrittäneet vain yhden palvelun ' web ” pitääksesi koodin puhtaana ja yksinkertaisena.
  • ' rakentaa ” avainparia käytetään rakennuskontekstin lukemiseen Docker-tiedostosta. Täällä docker lukee ohjeet Dockerfile-tiedostosta ja rakentaa kontin niiden mukaisesti.
  • ' portit ”-näppäin määrittää paljastavat portit, joissa kontti suoritetaan.

Vaihe 3: Käynnistä Docker-instanssi

Suorita nyt Docker-ilmentymä säilössä käyttämällä ' telakka-säveltää 'komento:

telakka-säveltää -d

Tarkista luettelo käynnissä olevista kirjoitussäilöistä käyttämällä ' telakka-kirjoitus ps 'komento:

telakka-säveltäminen ps

Tulos osoittaa, että ' web ' palvelu suoritetaan onnistuneesti ' golangapp-web-1 ”kontti:

Navigoi kirjoituspalvelun paljastavaan porttiin ja tarkista, suoritetaanko ohjelma vai ei. Alla oleva tulos osoittaa, että olemme onnistuneesti käynnistäneet Docker-instanssin Dockerfilesta Docker Compose -sovelluksella:

Siinä on kyse Docker-ilmentymän suorittamisesta Dockerfile-tiedostosta.

Johtopäätös

Jos haluat suorittaa Docker-ilmentymän Docker-tiedoston säilössä, luo ensin Dockerfile. Lisää tiedoston sisällä olevat komennot Docker-säilön kuvan tai mallin luomiseksi. Tee sitten säilön kuva tai tilannekuva käyttämällä ' docker build -t -f . ”komento. Suorita nyt säilökuva käynnistääksesi Docker-instanssin. Käyttäjät voivat myös käyttää Docker-kirjoitusta Docker-esiintymän suorittamiseen Dockerfilesta. Tämä viesti on havainnollistanut, kuinka Docker-esiintymä suoritetaan Dockerfile-tiedostosta.