DevOps-bootcamp · Oppitunti

Dockerfile-tiedostojen ymmärtäminen

Opetelkaa Dockerfile-tiedostojen syntaksi ja yleiset ohjeet, joilla määritetään imagen rakentaminen.

Oppitunti 1/412 vaihetta

Dockerfile-tiedostojen ymmärtäminen on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Mikä on Dockerfile?

Ajatelkaa kakkureseptiä. Dockerfile on hyvin samanlainen! Se on pelkkä tekstitiedosto, joka sisältää kaikki Dockerin tarvitsemat ohjeet Docker-imagen automaattiseen rakentamiseen.

Ainesosien sekoittamisen sijaan kerrotte Dockerille, mitä peruskäyttöjärjestelmää käytetään, mitä ohjelmistoja asennetaan ja miten sovellus määritetään imagen sisällä.

Dockerfile-tiedostojen ymmärtäminen — kuvitus 1

Hyödyt: rakentamisen automatisointi

Dockerfile-tiedostot tuovat kehitystyönkulkuunne monia etuja:

  • Automatisointi: Manuaalisia vaiheita ei enää tarvita! Docker rakentaa imaget joka kerta yhdenmukaisesti.
  • Versionhallinta: Dockerfile-tiedostot ovat koodia, joten voitte seurata muutoksia Gitillä.
  • Toistettavuus: Jokainen Dockerfile-tiedoston saanut voi rakentaa täsmälleen saman imagen.
  • Läpinäkyvyys: Näette tarkalleen, mitä image sisältää.

Dockerfilen perusrakenne

Dockerfile on luettelo ohjeista, jotka suoritetaan järjestyksessä ylhäältä alas. Jokainen ohje luo imageen uuden kerroksen.

Perussyntaksi on yksinkertainen:

INSTRUCTION arguments

Kommentit alkavat merkillä #, kuten monissa ohjelmointikielissä. Docker-ohjeissa kirjainkoolla ei ole merkitystä, mutta käytäntönä on käyttää isoja kirjaimia.

Perusimagen valitseminen FROM-ohjeella

Jokaisen Dockerfilen on alettava FROM-ohjeella. Se määrittää perusimagen, jonka pohjalta uusi image rakennetaan. Tämä perusimage sisältää yleensä käyttöjärjestelmän, kuten Alpine Linuxin, ja joskus valmiiksi asennettuja ohjelmistoja.

Ajatelkaa sitä lähtökohdan valitsemisena – voitte valita tyhjän kankaan tai kankaan, jossa on jo valmiiksi muutama perusväri.

FROM alpine:latest

Komentojen suorittaminen RUN-ohjeella

RUN-ohjetta käytetään komentojen suorittamiseen imagen rakennusprosessin aikana. Tässä vaiheessa asennetaan paketteja, luodaan hakemistoja tai käännetään koodia.

Jokainen RUN-komento luo uuden kerroksen, joten komentojen yhdistäminen &&-operaattorilla voi pienentää imagen kokoa.

RUN apk update && apk add git

Oletuskomento CMD-ohjeella

CMD-ohje määrittää oletuskomennot tai -argumentit suoritettavalle kontille. Toisin kuin RUN-ohjeet, CMD-komennot suoritetaan kontin käynnistyessä, ei rakennuksen aikana.

Jos määritätte kontin suorittamisen yhteydessä komennon, esimerkiksi docker run my-image ls, kyseinen komento ohittaa CMD-ohjeen.

CMD ["echo", "Hello from container!"]

Tiedostojen lisääminen COPY-ohjeella

COPY-ohje kopioi uudet tiedostot tai hakemistot isäntäkoneeltanne, jolla image rakennetaan, Docker-imagen tiedostojärjestelmään määritettyyn polkuun.

Sitä suositellaan yleensä ADD-ohjeen sijaan, koska se on läpinäkyvämpi ja kopioi vain paikallisia tiedostoja.

COPY ./app /usr/src/app

Työhakemisto ja ympäristömuuttujat

WORKDIR määrittää työhakemiston kaikille sen jälkeen tuleville RUN-, CMD-, ENTRYPOINT-, COPY- ja ADD-ohjeille. Se tekee Dockerfilestä selkeämmän.

ENV määrittää ympäristömuuttujia. Nämä muuttujat ovat käytettävissä Dockerfilen myöhemmissä ohjeissa sekä käynnissä olevassa kontissa.

WORKDIR /app
ENV PORT=8080

Porttien ilmoittaminen EXPOSE-ohjeella

EXPOSE-ohje ilmoittaa Dockerille, että kontti kuuntelee suorituksen aikana määritettyjä verkkoportteja. Se ei kuitenkaan julkaise porttia.

Ajatelkaa sitä dokumentaationa. Jotta portti olisi oikeasti käytettävissä kontin ulkopuolelta, docker run -komennon kanssa on käytettävä -p-valitsinta.

EXPOSE 80
EXPOSE 443

Ensimmäinen yksinkertainen Dockerfile

Kootaan kaikki yhteen! Tässä on perus-Dockerfile, joka määrittää Alpine Linux -imagen, asentaa paketin ja määrittää oletuskomennon.

Rakentamista varten tallentakaa tiedosto nimellä Dockerfile tyhjään hakemistoon ja suorittakaa sitten päätelaitteessa docker build -t my-simple-app ..

FROM alpine:latest

LABEL maintainer="CoddyKit"

RUN apk update && apk add --no-cache bash

WORKDIR /app

CMD ["bash", "-c", "echo 'Hello from my custom Alpine image!' && sleep 3600"]

Dockerfile-ohjeiden tietovisa

Testatkaa tietonne! Mitkä näistä ohjeista suoritetaan imagen rakennusprosessin aikana ja jotka muokkaavat suoraan imagen sisältöä tai rakennetta?

Kertaus: Dockerfilen perusteet

Olette ottaneet suuren askeleen Docker-imagien ymmärtämisessä! Opitte, että Dockerfile-tiedostot ovat imagejen rakentamiseen tarkoitettuja tekstitiedostoja, jotka tarjoavat merkittäviä etuja, kuten automatisoinnin ja toistettavuuden.

Keskeiset käsitellyt ohjeet:

  • FROM: Määrittää perusimagen.
  • RUN: Suorittaa komentoja rakentamisen aikana.
  • CMD: Määrittää käynnissä olevan kontin oletuskomennon.
  • COPY: Lisää tiedostoja isäntäkoneelta imageen.
  • WORKDIR, ENV, EXPOSE: Määrittävät imagen ja kontin ympäristön.
Aloita maksutta

Opi DevOps-bootcamp tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
142
Oppitunnit
568

Usein kysytyt kysymykset

Onko oppitunti ”Dockerfile-tiedostojen ymmärtäminen” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Dockerfile-tiedostojen ymmärtäminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Dockerfile-tiedostojen ymmärtäminen”?

Opetelkaa Dockerfile-tiedostojen syntaksi ja yleiset ohjeet, joilla määritetään imagen rakentaminen. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Dockerfile-tiedostojen ymmärtäminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä DevOps-bootcamp-oppitunnilla?

Kyllä. Jokainen DevOps-bootcamp-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Dockerfile-tiedostojen ymmärtäminen
  2. Mukautettujen Docker-imagien luominen
  3. Imagetasot ja optimointi
  4. Monivaiheiset koonnit ja pienemmät näköistiedostot
← Takaisin: DevOps-bootcamp