Kuinka tehdä pysyviä muutoksia Docker-kuviin heti

Kuinka tehdä pysyviä muutoksia Docker-kuviin heti
Indeksi
  1. Miksi Docker-kuvat eivät muutu
  2. Luo uusi kuva toimivasta kontista
  3. Näe, miten docker commit toimii
  4. Testaa uutta kuvaa testataksesi tallennettuja muutoksia
  5. docker commit vs Dockerfile: Milloin käyttää kumpaakin

Docker-kuvat tarjoavat vakautta ja ennakoitavuutta, mutta muutosten tekeminen vaatii docker commit -komentoa. Tämä mahdollistaa mukautettujen kuvien luomisen helposti ja nopeasti.

Docker-kuvat ovat muuttumattomia. Kun ne on rakennettu, ne eivät muutu. Tämä takaa johdonmukaisuuden, ennakoitavuuden ja vakauden. Jokainen kontti, joka on luotu samasta kuvasta, käyttäytyy identtisesti, ja versionhallinta on turvallista ja helppoa. Mutta entä jos sinun on tehtävä muutoksia toimivassa kontissa, kuten asennettava paketti tai päivitettävä konfiguraatio? Silloin docker commit tulee avuksi. Se antaa sinun tallentaa muutokset toimivassa kontissa ja luoda uusi kuva vanhaa koskematta. Tämä on loistavaa virheiden testaamiseen, nopeaan kehittämiseen ja räätälöityjen kuvien lanseeraamiseen ilman, että sinun tarvitsee rakentaa niitä alusta asti uudelleen.

Miksi Docker-kuvat eivät muutu

Docker-kuvat koostuvat useista vain luku -kerroksista. Kun suoritat kontin, Docker lisää ohut kirjoitettava kerros päälle, jota kutsutaan kontin kerrokseksi. Kaikki tekemäsi muutokset tapahtuvat vain tässä ylimmässä kerroksessa. Kun kontti poistetaan, kaikki muutokset tässä kerroksessa katoavat, ja alkuperäinen kuva jää muuttumattomaksi.

Tämä suunnittelu takaa useita etuja:

  • Jokainen samaan kuvaan perustuva kontti käyttäytyy samalla tavalla, mikä varmistaa johdonmukaisuuden.
  • Muutokset yhdessä kontissa eivät vaikuta muihin, mikä takaa ennakoitavuuden.
  • Voit turvallisesti merkitä tiettyjä kuvaversioita ilman riskiä.

Tämä suunnittelu tarjoaa erinomaisen vakauden, mutta rajoittaa sinua, kun haluat tehdä nopeita muutoksia toimivaan konttiin. Silloin docker commit auttaa.

Luo uusi kuva toimivasta kontista

Kun suoritat docker commit -komen, Docker tallentaa toimivan kontin nykytilanteen ja luo siitä uuden kuvan. Se ottaa snapshotin kontin tiedostojärjestelmästä, tallentaen kaikki tekemäsi muutokset, kuten asennetut paketit, päivitetyt konfiguraatiot tai muokatut tiedostot, uutena kuva-kerroksena. Näin alkuperäinen kuva pysyy koskemattomana, mikä antaa sinulle mahdollisuuden kokeilla ja kehittää nopeasti.

Tämä on ihanteellinen tapa tallentaa mukautettu perusasetelma tulevaa käyttöä varten, tehdä pieniä korjauksia tai konfiguraatiomuutoksia testauksen aikana tai jakaa päivitettyjä kuvia tiimisi kanssa ilman, että sinun tarvitsee rakentaa Dockerfileä alusta asti uudelleen.

Voit käyttää docker commit -komentoa seuraavalla syntaksilla luodaksesi uuden kuvan toimivasta kontista:

docker commit [OPTIONS] CONTAINER_ID NEW_IMAGE_NAME[:TAG]

Tässä CONTAINER_ID on kontin ID tai nimi, jonka haluat tallentaa, NEW_IMAGE_NAME on nimi, jonka haluat uudelle kuvallesi, ja TAG on valinnainen, oletusarvo on latest.

Huom: docker commit on vanha alias docker container commit -komennolle; molemmat ovat identtisiä.

docker commit -komento tarjoaa useita vaihtoehtoja, joiden avulla voit lisätä metatietoja, soveltaa konfiguraatiomuutoksia ja hallita, miten komittiprosessi käyttäytyy. Alla oleva taulukko yhteenvetää kaikki tuetut vaihtoehdot:

VaihtoehtoPitkä muotoKuvausEsimerkki
-a–authorLisää kirjoittajan nimen uuteen kuvametatietoihin.docker commit -a "Anees" my-container my-image
-c–changeSoveltaa Dockerfile-ohjeita kuten ENV, LABEL tai CMD uuteen kuvaan.docker commit -c "ENV APP_ENV=prod" my-container my-image
-m–messageLisää lyhyt viesti, joka kuvaa kuvassa tehtyjä muutoksia.docker commit -m "Asennettiin curl" my-container my-image
-p–pauseKeskeyttää kontin komitin aikana varmistaakseen johdonmukaisuuden (oletus: true).docker commit --pause=false my-container my-image

Näe, miten docker commit toimii

Oletetaan, että haluat asentaa curlin Alpine-konttiin ilman, että rakennat sitä uudelleen.

Dockerfile. Toteuttaaksesi tämän, aja kontti peruskuvasta:

docker run -it alpine:latest /bin/sh

Kun olet kontissa, tee tarvittavat muutokset:

apk update && apk add curl

Poistu nyt kontista:

exit

Tämän jälkeen sitoudu kontti uutena kuvana:

docker commit <container_id> alpine-with-curl:1.0

Tarkista uusi kuvasi:

docker images

Nyt sinulla on uusi kuva, joka on valmis ajettavaksi missä vain, curl esiasennettuna.

Testaa uutta kuvaa testataksesi tallennettuja muutoksia

Uuden kuvasi luomisen jälkeen voit ajaa konttia siitä varmistaaksesi, että muutoksesi on tallennettu.

docker run -it alpine-with-curl:1.0 /bin/sh

Tämä komento avaa interaktiivisen komentokehotteen kontissa, joka perustuu alpine-with-curl:1.0 kuvaan. Oleskellessasi sisällä voit tarkistaa, että muokkauksesi ovat tallessa.

curl --version

Tämä osoittaa, että muutokset on säilytetty uudessa kuvassa.

docker commit vs Dockerfile: Milloin käyttää kumpaakin

Sekä Dockerfile että docker commit antavat sinun luoda Docker-kuvia, mutta ne toimivat hyvin eri tavoilla ja soveltuvat erilaisiin tilanteisiin.

Dockerfile on paras vaihtoehto silloin, kun tarvitset luotettavia ja toistettavia rakennuksia, erityisesti CI/CD-putkistoissa ja tuotantoympäristöissä. Se pitää kaikki muutokset selkeästi määriteltyinä koodissa, mikä tekee niistä helppoja seurata, tarkistaa ja hallita versiota ajan myötä. Tämä lähestymistapa varmistaa, että kuka tahansa, joka rakentaa kuvaa myöhemmin, saa saman lopputuloksen, mikä on kriittistä pitkäaikaiselle ylläpidolle ja tiimityölle.

Toisaalta docker commit toimii hyvin nopeissa korjauksissa, testaamisessa tai pienissä säädöissä, joita haluat kokeilla ilman koko Dockerfile:n kirjoittamista tai uudelleenrakentamista. Se on hyödyllinen, kun kokeilet, debuggaat tai validoit muutoksia lennossa. Kuitenkin, koska muutoksia ei ole dokumentoitu tiedostoon, tämä menetelmä sopii paremmin lyhytaikaiseen käyttöön kuin tuotantoon.

Kokonaisuudessaan voit käyttää docker commit pääasiassa kokeiluun tai väliaikaisiin korjauksiin. Tuotantovalmiille kuville suositaan aina Dockerfile:a. Saadaksesi kaiken irti Dockerista, on syytä tutustua muihin tärkeisiin komentoihin, jotka helpottavat työskentelyä konttien, kuvien ja työnkulkujen kanssa.

Nyt kun olet lukenut Kuinka tehdä pysyviä muutoksia Docker-kuviin heti loppuun, kutsumme sinut tutustumaan lisää Oppaat-kategoriaan. Löydät sieltä muita mielenkiintoisia artikkeleita, jotka laajentavat tietojasi ja pitävät sinut ajan tasalla. Älä lopeta lukemista ja löytämistä!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Go up