Docker

Kuidas Dockerfile töötab?

Kuidas Dockerfile töötab?
Dokkeri pildi abil saate juurutada ainult ühe konteineri. Kui aga peate samalt pildilt juurutama mitu konteinerit (kumbki erinevate ülesannete jaoks), siis mis juhtub? Selle saate lahendada dockerfile'i abil.

Dockerfile on lihtne tekstifail, mis sisaldab kõiki käske, mida kasutaja saab pildi kokkupanemiseks või loomiseks käsureal kutsuda. Dockeri ehituse abil saate hõlpsasti automatiseerida järk-järgult mitu käsku, mis töötavad docker-failis.

Näiteks soovite oma konkreetsete arendusvajaduste jaoks dokkimisjaamast pildi alla laadida. Seejärel soovite pilti värskendada, installige oma arendusprotsessi jaoks mõned paketid. Sellisel juhul saate luua dockerfile'i, lisada kõik parameetrid teie konkreetsetele vajadustele ja luua oma kohandatud pildi. Pärast dockerfile'i loomist saate seda uuesti ja uuesti kasutada sama pildi loomiseks, ilma et kõiki oma arendusprotsessi jaoks vajalikke pakette installiksite.

Dockerfile Basic

Enne dockerfile'iga töötamist on oluline teada, kuidas dockerfile'i teha. Dockerfile sisaldab konkreetseid märksõnu, mida saab kasutada konkreetse pildi loomiseks. Allpool on toodud kõigi dockerfailis kasutatud märksõnade lühikirjeldus:

Dockerfile'i loomine

Selles jaotises loome dockerfaili, et ehitada LAMP-serveri pilt Ubuntu baaspildist.

Esiteks peate dockerfaili salvestamiseks looma kataloogi. Selle saate luua järgmise käsuga:

mkdir LAMP

Seejärel looge kataloogi kataloog Dockerfile:

nano LAMP / Dockerfile

Lisage järgmised read:

UBuntust: uusim
Hooldaja Hitesh Jethva
ENV DEBIAN_FRONTEND = mitteinteraktiivne
KÄIVITA apt-get update -y && apt-get install apache2 mariadb-server
libapache2-mod-php php php-cli php-common php-mysql php-json php-curl -y
CMD ["apachectl", "- D", "FOREGROUND"]
KOKKUPUUDE 8080

Kui olete lõpetanud, salvestage ja sulgege fail.

Dockerfile'iga hoone pilt

Pärast Dockerfile'i loomist saate Dockerfile'i abil hõlpsasti luua kohandatud LAMP-pildi.

Kõigepealt muutke kataloogiks LAMP ja käivitage järgmine käsk selle faili kujutise loomiseks:

cd LAMP
dockeri ehituse -t "lamp: Dockerfile".

Ülaltoodud käsk hakkab Docker Hubist alla laadima Ubuntu uusimat pilti ja installima vajalikud paketid, mis on määratud Dockerfile'is. Kui pilt on edukalt üles ehitatud, peaksite nägema järgmist väljundit:

Ehituskonteksti saatmine Dockeri deemonile 2.048 kB
Samm 1/6: ubuntust: uusim
viimane: Tõmba raamatukogust / ubuntust
54ee1f796a1e: Tõmmake lõpuni
f7bfea53ad12: tõmmake lõpule
46d371e02073: Tõmmake lõpuni
b66c17bbf772: tõmmake lõpule
Digest: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Olek: allalaaditud uuem pilt Ubuntu: uusim
---> 4e2eef94cd6b
Samm 2/6: Hooldaja Hitesh Jethva
---> Töötab 047977af2c2a
Vahemahuti 047977af2c2a eemaldamine
---> 1331df625c4c
Samm 3/6: ENV DEBIAN_FRONTEND = mitteinteraktiivne
---> Jooksul 3597152c7a1b
Vahemahuti 3597152c7a1b eemaldamine
---> 86c82c95e75d
Samm 4/6: Käivitage apt-get update -y && apt-get install apache2 mariadb-server
libapache2-mod-php php php-cli php-common php-mysql php-json php-curl -y
Vahemahuti eemaldamine 322532299fd9
---> f6897a9554f7
Samm 5/6: CMD ["apachectl", "- D", "FOREGROUND"]
---> Käitab 669635bc8bcb
Vahemahuti 669635bc8bcb eemaldamine
---> e8400eb2e677
Samm 6/6: KOKKUPUUTA 8080
---> Töötab 937ae2b2d305
Vahemahuti 937ae2b2d305 eemaldamine
---> 2123a857361d
Edukalt ehitatud 2123a857361d
Edukalt märgistatud lamp: Dockerfile

Nüüd saate oma hiljuti koostatud pildi loetleda, käivitades järgmise käsu:

doki pildid

Peaksite nägema järgmist väljundit:

Hoidla sildi pildi ID on loodud
lamp Dockerfile 2123a857361d 44 sekundit tagasi 520MB
ubuntu latest 4e2eef94cd6b 8 päeva tagasi 73.9 MB

Nüüd on teie käes kohandatud LAMP-serveri pilt. Iga käsu ajalugu saate vaadata ka järgmise käsuga:

doki ajaloolamp: Dockerfile

Peaksite nägema järgmist väljundit:

LOOMISE PILT LOOMISE SUURUSE KOMMENTAARI JÄRGI
2123a857361d 16 minutit tagasi / bin / sh -c # (nop) EXPOSE 8080 0B
e8400eb2e677 16 minutit tagasi / bin / sh -c # (nop) CMD ["apachectl" "-D" "FO… 0B
f6897a9554f7 16 minutit tagasi / bin / sh -c apt-get update -y && apt-get inst… 446MB
86c82c95e75d 17 minutit tagasi / bin / sh -c # (nop) ENV DEBIAN_FRONTEND = nonin ... 0B
1331df625c4c 17 minutit tagasi / bin / sh -c # (nop) HOIDJA Hitesh Jethva 0B
4e2eef94cd6b 8 päeva tagasi / bin / sh -c # (nop) CMD ["/ bin / bash"] 0B

Konteineri loomine LAMP-pildist

Nüüd saate oma pildilt konteineri käivitada järgmise käsu abil:

docker run -dit lamp: Dockerfile

Kui konteiner on käivitatud, peaksite nägema järgmist väljundit:

0d2beb7dba01bb763768b116f734ae68286cee00d2ae923b2b7241c39ad54208

Töötavat konteinerit saate kontrollida järgmise käsu abil:

dokkija ps

Peaksite saama järgmise väljundi:

KONTEINERI ID-PILDI KÄSKU LÕPPIS STATUSSADAMATE NIMED
c14794784eb2 lamp: Dockerfile "apachectl-D FOREGR ..." 2 minutit tagasi Üles 2 minutit 0.0.0.0: 8080-> 8080 / tcp quirky_ramanujan

Järeldus

Selles juhendis õppisite, mis on Dockerfile ja kuidas Dockerfile'iga dockeri pilti luua. See on väga kasulik kohandatud piltide loomiseks, selle asemel et tõmmata tõmmatud kujutisele muudatusi.

Juhtige ja hallake hiire liikumist mitme kuvari vahel Windows 10-s
Dual Display Mouse Manager võimaldab teil kontrollida ja konfigureerida hiire liikumist mitme monitori vahel, aeglustades selle liikumist piiri läheda...
WinMouse võimaldab teil kohandada ja parandada hiirekursori liikumist Windowsi arvutis
Kui soovite oma hiirekursori vaikefunktsioone paremaks muuta, kasutage vabavara WinMouse. See lisab rohkem funktsioone, mis aitavad teil alandlikust h...
Hiire vasakklõps nupp ei tööta Windows 10-s
Kui kasutate oma sülearvuti või lauaarvutiga spetsiaalset hiirt, kuid hiire vasakklõps nupp ei tööta mingil põhjusel operatsioonisüsteemis Windows 10/...