Learning Docker, Osa 6: Työskentely tietojen kanssa

Dockeria käsittelevän materiaalisarjan käännöksen tämänpäiväisessä osassa puhumme tietojen kanssa työskentelystä. Etenkin Docker-volyymeistä. Näissä materiaaleissa vertailimme jatkuvasti Docker-ohjelmointimekanismeja erilaisiin syötäviin analogioihin. Emme poikkea tästä perinteestä tässä. Olkoon Dockerin data mausteita. Maailmassa on monenlaisia ​​mausteita, ja Dockerilla on monia tapoja käsitellä dataa.

Osa 1: Perusteet
Osa 2: termit ja käsitteet
Osa 3: Docker-tiedostot
Osa 4: Kuvien koon pienentäminen ja niiden kokoamisen nopeuttaminen
Osa 5: komennot
Osa 6: tietojen käsittely

Learning Docker, Osa 6: Työskentely tietojen kanssa

Huomaa, että tämä materiaali on valmistettu käyttämällä Docker-moottorin versiota 18.09.1 ​​ja API-versiota 1.39.

Dockerin tiedot voidaan tallentaa joko väliaikaisesti tai pysyvästi. Aloitetaan väliaikaisista tiedoista.

Väliaikainen tietojen tallennus

On kaksi tapaa hallita väliaikaisia ​​tietoja Docker-säiliöissä.

Oletuksena säilössä toimivan sovelluksen luomat tiedostot tallennetaan kirjoitettavaan säilökerrokseen. Jotta tämä mekanismi toimisi, mitään erityistä ei tarvitse määrittää. Se osoittautuu halvaksi ja iloiseksi. Sovelluksen on vain tallennettava tiedot ja jatkettava oman asiansa tekemistä. Kuitenkin, kun kontti lakkaa olemasta, myös näin yksinkertaisella tavalla tallennetut tiedot katoavat.

Väliaikainen tiedostojen tallennus Dockerissa on toinen ratkaisu, joka sopii tilanteisiin, joissa tarvitaan korkeampaa suorituskykyä kuin mitä voidaan saavuttaa käyttämällä tavallista väliaikaista tietojen tallennusmekanismia. Jos et tarvitse tietojasi säilytettäväksi pidempään kuin säilö on olemassa, voit muodostaa yhteyden säilöön tmpfs - tilapäiseen tietosäilöön, joka käyttää isännän RAM-muistia. Tämä nopeuttaa tietojen kirjoitus- ja lukutoimintojen suorittamista.

Usein käy niin, että tiedot on tallennettava senkin jälkeen, kun kontti lakkaa olemasta. Tätä varten tarvitsemme pysyviä tiedontallennusmekanismeja.

Pysyvä tietojen tallennus

On kaksi tapaa pidentää datan käyttöikää kuin säilön käyttöikää. Yksi tapa on käyttää sidoskiinnitystekniikkaa. Tällä lähestymistavalla voit liittää säilöön esimerkiksi tosielämän kansion. Dockerin ulkopuoliset prosessit voivat myös työskennellä tällaiseen kansioon tallennettujen tietojen kanssa. Näin Katso tmpfs mount and bind mount -tekniikka.

Learning Docker, Osa 6: Työskentely tietojen kanssa
Asennus tmpfs ja bind mount

Sidosliitostekniikan käytön haittoja ovat, että sen käyttö vaikeuttaa tietojen varmuuskopiointia, tiedonsiirtoa ja tietojen jakamista useiden säiliöiden kesken. On paljon parempi käyttää Docker-taltioita jatkuvaan tietojen tallentamiseen.

Volumes Docker

Taltio on tiedostojärjestelmä, joka sijaitsee isäntäkoneella säilöjen ulkopuolella. Volyymit luo ja hallinnoi Docker. Tässä ovat Docker-taltioiden tärkeimmät ominaisuudet:

  • Ne ovat väline tietojen pysyvään tallentamiseen.
  • Ne ovat itsenäisiä ja erotettu säiliöistä.
  • Ne voidaan jakaa eri säiliöiden kesken.
  • Niiden avulla voit järjestää tehokkaan tietojen lukemisen ja kirjoittamisen.
  • Volyymit voidaan sijoittaa etäpilvipalveluntarjoajan resursseihin.
  • Ne voidaan salata.
  • Niille voidaan antaa nimiä.
  • Säiliö voi järjestää tilavuuden esitäytön tiedoilla.
  • Ne ovat käteviä testaukseen.

Kuten näet, Docker-taltioilla on uskomattomia ominaisuuksia. Puhutaanpa niiden luomisesta.

Volyymien luominen

Volyymit voidaan luoda Docker- tai API-pyyntöjen avulla.

Tässä on Docker-tiedostossa oleva ohje, jonka avulla voit luoda taltion säilöä käynnistettäessä.

VOLUME /my_volume

Kun käytät samanlaista ohjetta, Docker luo säilön luomisen jälkeen taltion, joka sisältää määritetyssä paikassa jo olevat tiedot. Huomaa, että jos luot taltion Docker-tiedoston avulla, tämä ei vapauta sinua tarpeesta määrittää taltion liitoskohta.

Voit myös luoda taltioita Docker-tiedostoon JSON-muodossa.

Lisäksi taltioita voidaan luoda komentorivityökaluilla säilön ollessa käynnissä.

Työskentely aseiden kanssa komentoriviltä

▍ Äänenvoimakkuuden luominen

Voit luoda erillisen taltion seuraavalla komennolla:

docker volume create —-name my_volume

▍Katso tietoja volyymeista

Voit tarkastella Docker-taltioiden luetteloa käyttämällä seuraavaa komentoa:

docker volume ls

Voit tutkia tiettyä määrää seuraavasti:

docker volume inspect my_volume

▍Taltion poistaminen

Voit poistaa taltion seuraavasti:

docker volume rm my_volume

Voit poistaa kaikki taltiot, joita säilöt eivät käytä, käyttämällä seuraavaa komentoa:

docker volume prune

Ennen taltioiden poistamista Docker pyytää sinua vahvistamaan tämän toiminnon.

Jos taltio on liitetty säilöön, sitä ei voi poistaa ennen kuin vastaava säilö on poistettu. Samaan aikaan, vaikka säiliö poistetaan, Docker ei aina ymmärrä tätä. Jos näin tapahtuu, voit käyttää seuraavaa komentoa:

docker system prune

Se on suunniteltu puhdistamaan Docker-resurssit. Tämän komennon suorittamisen jälkeen sinun pitäisi pystyä poistamaan taltiot, joiden tila oli aiemmin virheellinen.

--mount- ja --volume-liput

Voit työskennellä äänenvoimakkuuksien kanssa, kun kutsut komentoa docker, sinun on usein käytettävä lippuja. Voit esimerkiksi luoda taltion säilön luomisen aikana käyttämällä tätä rakennetta:

docker container run --mount source=my_volume, target=/container/path/for/volume my_image

Muinaisina aikoina (vuoteen 2017 asti) lippu oli suosittu --volume. Aluksi tämä lippu (se voidaan käyttää myös lyhennetyssä muodossa, sitten se näyttää -v) käytettiin erillisissä konteissa, ja lippu --mount - Docker Swarm -ympäristössä. Kuitenkin, kuten Docker 17.06, lippu --mount voidaan käyttää missä tahansa skenaariossa.

On huomattava, että lippua käytettäessä --mount komennossa määritettävien lisätietojen määrä kasvaa, mutta useista syistä on parempi käyttää tätä nimenomaista lippua, eikä --volume. Lippu --mount on ainoa mekanismi, jonka avulla voit työskennellä palveluiden kanssa tai määrittää volyymiohjaimen asetukset. Lisäksi tämän lipun kanssa on helpompi työskennellä.

Olemassa olevissa esimerkeissä Dockerin tietojen käsittelykomentoista voit nähdä monia esimerkkejä lipun käytöstä -v. Kun yrität mukauttaa näitä komentoja itsellesi, muista, että liput --mount и --volume käyttää erilaisia ​​parametrimuotoja. Eli et voi yksinkertaisesti korvata -v päälle --mount ja hanki työporukka.

Tärkein ero --mount и --volume se on lippua käytettäessä --volume kaikki parametrit kerätään yhteen kenttään ja käytettäessä --mount parametrit erotetaan toisistaan.

Kun työskentelet --mount parametrit esitetään avain-arvo-pareina, eli se näyttää key=value. Nämä parit erotetaan pilkuilla. Tässä ovat yleisesti käytetyt vaihtoehdot --mount:

  • type - kiinnitystyyppi. Vastaavan avaimen arvo voi olla sitovat, tilavuus tai tmpfs. Puhumme tässä volyymeistä, eli olemme kiinnostuneita arvosta volume.
  • source - kiinnityslähde. Nimettyjen niteiden kohdalla tämä on taltion nimi. Nimeämättömille taltioille tätä avainta ei ole määritetty. Sitä voidaan lyhentää src.
  • destination - polku, johon tiedosto tai kansio on liitetty säilöön. Tämä avain voidaan lyhentää muotoon dst tai target.
  • readonly - asentaa tarkoitetun tilavuuden vain lukemista varten. Tämän avaimen käyttö on valinnaista, eikä sille anneta arvoa.

Tässä on esimerkki käytöstä --mount monella vaihtoehdolla:

docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image

Tulokset

Tässä on joitain hyödyllisiä komentoja, joita voit käyttää Docker-taltioiden kanssa työskennellessäsi:

  • docker volume create
  • docker volume ls
  • docker volume inspect
  • docker volume rm
  • docker volume prune

Tässä on luettelo yleisesti käytetyistä vaihtoehdoista --mount, sovelletaan lomakkeen komennossa docker run --mount my_options my_image:

  • type=volume
  • source=volume_name
  • destination=/path/in/container
  • readonly

Nyt kun olemme saaneet tämän Docker-sarjan valmiiksi, on aika sanoa muutama sana siitä, mihin Dockerin oppijat voivat mennä seuraavaksi. Täällä loistava hyvä artikkeli Dockerista. Täällä kirja Dockerista (kun ostat tämän kirjan, yritä hankkia sen uusin painos). Täällä toinen kirja niille, joiden mielestä harjoitus on paras tapa oppia teknologiaa.

Hyvä lukijat! Mitä Docker-materiaaleja suosittelisit aloittelijoille?

Learning Docker, Osa 6: Työskentely tietojen kanssa

Lähde: will.com

Lisää kommentti