DevOps-bootcamp · Oppitunti

Bind mountit ja tmpfs-mountit

Tutustukaa bind mountien käyttöön isäntäkoneen tiedostojen käsittelyssä ja tmpfs-mountien käyttöön väliaikaisten tietojen tallennuksessa.

Oppitunti 3/411 vaihetta

Bind mountit ja tmpfs-mountit on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 3/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.

Datan tallennus volumien lisäksi

Edellisillä oppitunneilla opimme Docker-volumeista pysyvän datan tallentamiseen. Entä jos sinun on jaettava tiedostoja suoraan isäntäkoneeltasi tai tallennettava väliaikaista dataa, jonka ei tarvitse säilyä?

Tässä oppitunnissa esitellään kaksi muuta tapaa hallita dataa: bind mount -liitokset ja tmpfs mount -liitokset. Ne tarjoavat joustavuutta erilaisiin käyttötapauksiin.

Bind mountit ja tmpfs-mountit — kuvitus 1

Mitä bind mount -liitokset ovat?

Bind mount -liitoksen avulla voit liittää tiedoston tai hakemiston isäntäkoneelta konttiin. Tämä luo suoran yhteyden, joten toisella puolella tehdyt muutokset näkyvät heti myös toisella puolella.

  • Isäntäkoneen polku: Sijainti tietokoneellasi.
  • Kontin polku: Sijainti kontin sisällä.
  • Sopii erinomaisesti kehitykseen, määritysten jakamiseen ja isäntäkoneen tiedostojen käyttämiseen.

Bind mount -liitokset käytännössä

Katsotaan bind mount -liitosta käytännössä. Tämä komento liittää nykyisen hakemistosi (jonka ilmaisee Linuxissa/macOS:ssä $(pwd) tai Windowsin CMD:ssä %cd%) kontin hakemistoon /app.

Huomautus: Luo ennen komennon suorittamista nykyiseen hakemistoosi tiedosto nimeltä hello.txt ja kirjoita siihen esimerkiksi teksti "Hello from host!".

docker run --rm -it \
  -v "$(pwd):/app" \
  alpine:latest sh -c "ls /app && cat /app/hello.txt"

Vain luku -tilassa olevat bind mount -liitokset

Joskus haluat jakaa dataa isäntäkoneelta mutta estää konttia tekemästä siihen muutoksia. Tällöin vain luku -tilassa olevat bind mount -liitokset ovat hyödyllisiä.

Voit määrittää liitospolun loppuun merkinnän :ro tai käyttää --mount-valitsimen kanssa asetusta readonly.

docker run --rm -it \
  -v "$(pwd):/app:ro" \
  alpine:latest sh -c "touch /app/new_file.txt || echo 'Permission denied!'"

Vain luku -tilassa olevan tulosteen ymmärtäminen

Kun suoritit edellisen komennon, sinun olisi pitänyt nähdä viesti "Permission denied!". Tämä vahvistaa, ettei kontti voinut luoda uutta tiedostoa hakemistoon /app, koska se oli liitetty vain luku -tilassa.

Tämä on hyvä suojausominaisuus, joka suojaa isäntäkoneen tiedostoja kontin vahingossa tekemiltä tai haitallisilta muutoksilta.

Mitä tmpfs mount -liitokset ovat?

tmpfs mount -liitos on väliaikainen tiedostojärjestelmä, joka tallennetaan kokonaan isäntäkoneen muistiin (RAM-muistiin). Tämä tarkoittaa, että tmpfs mount -liitokseen kirjoitettu data ei säily.

  • Data menetetään, kun kontti pysähtyy.
  • Levypohjaista tallennusta nopeampi I/O.
  • Sopii arkaluonteiselle datalle tai väliaikaisille tiedostoille.

tmpfs mount -liitokset käytännössä

Luodaan kontti, jossa on tmpfs-liitos. Kirjoitamme siihen tiedoston ja poistumme sitten kontista. Kun käynnistät uuden kontin, tiedosto on kadonnut.

--tmpfs-valitsin määrittää kontin sisäisen liitoskohdan.

docker run --rm -it \
  --tmpfs /app/temp_data \
  alpine:latest sh -c "echo 'Ephemeral data' > /app/temp_data/my_temp_file.txt && ls /app/temp_data"

tmpfs:n väliaikaisuuden todentaminen

Edellisen komennon suorittamisen jälkeen näit tiedoston my_temp_file.txt luettelossa. Suorita nyt tämä komento käynnistääksesi *uuden* kontin, jossa on *sama* tmpfs-liitosmääritys.

Huomaat, ettei tiedostoa my_temp_file.txt enää ole. Tämä vahvistaa, että tmpfs-data on todella väliaikaista ja sidoksissa kontin elinkaareen.

docker run --rm -it \
  --tmpfs /app/temp_data \
  alpine:latest ls /app/temp_data

Bind mount - ja tmpfs mount -liitokset

Milloin kumpaakin kannattaa käyttää?

  • Bind mount -liitokset: Isäntäkoneen tiedostojen, kuten määritysten ja lähdekoodin, jakamiseen konttien kanssa, kun tarvitaan säilyvyyttä ja suoraa pääsyä isäntäkoneelta.
  • tmpfs mount -liitokset: Väliaikaiselle datalle, jonka ei tarvitse säilyä ja joka vaatii hyvää suorituskykyä tai jonka ei haluta säilyvän kontin uudelleenkäynnistyksen jälkeen, kuten välimuisteille ja arkaluonteiselle ajonaikaiselle datalle.

Molemmat täydentävät Docker-volumeja ja tarjoavat kattavan valikoiman datan hallintavaihtoehtoja.

Nopea tarkistus: liitostyypit

Mitkä seuraavista väitteistä pitävät paikkansa bind mount- ja tmpfs mount -liitoksista?

Kertaus: datan hallintatyökalut

Hienosti tehty! Olet laajentanut Docker-datan hallintatyökalujasi.

  • Bind mount -liitokset yhdistävät isäntäkoneen tiedostot ja hakemistot kontteihin, joten ne sopivat erinomaisesti kehitykseen ja määritysten jakamiseen.
  • tmpfs mount -liitokset tarjoavat väliaikaista, muistissa olevaa tallennustilaa, joka sopii täydellisesti datalle, jonka ei tarvitse säilyä, tai arkaluonteiselle datalle.

Näiden vaihtoehtojen ymmärtäminen auttaa valitsemaan oikean tallennusratkaisun kontitetuille sovelluksille.

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 ”Bind mountit ja tmpfs-mountit” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Bind mountit ja tmpfs-mountit”. 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 ”Bind mountit ja tmpfs-mountit”?

Tutustukaa bind mountien käyttöön isäntäkoneen tiedostojen käsittelyssä ja tmpfs-mountien käyttöön väliaikaisten tietojen tallennuksessa. 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 3/4.

Kuinka kauan ”Bind mountit ja tmpfs-mountit”-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. Säilöverkkojen perusteet
  2. Docker-volyymit pysyvään tallennukseen
  3. Bind mountit ja tmpfs-mountit
  4. Mukautetut bridge-verkot ja palveluiden etsintä
← Takaisin: DevOps-bootcamp