Dokers

Kā darbojas Dockerfile?

Kā darbojas Dockerfile?
Ar dokera attēla palīdzību var izvietot tikai vienu konteineru. Tomēr, ja jums ir jāizvieto vairāki konteineri (katrs dažādiem uzdevumiem) no viena attēla, kas notiek? To var atrisināt, izmantojot dockerfile.

Dockerfile ir vienkāršs teksta fails, kurā ir visas komandas, kuras lietotājs var izsaukt komandrindā, lai apkopotu vai izveidotu attēlu. Izmantojot docker build, jūs varat viegli automatizēt būvējumu, kas secīgi izpilda vairākas komandas, kuras dockerfailā definē.

Piemēram, jūs vēlaties lejupielādēt dokstacijas attēlu no dokstacijas centrmezgla savām īpašajām attīstības vajadzībām. Pēc tam vēlaties atjaunināt attēlu, instalējiet dažas paketes savam izstrādes procesam. Šajā gadījumā jūs varat izveidot dockerfile, iekļaut visus parametrus jūsu īpašajām vajadzībām un izveidot savu pielāgoto attēlu. Pēc dockerfile izveides jūs varat to atkal un atkal izmantot, lai izveidotu to pašu attēlu, manuāli neinstalējot visas nepieciešamās paketes savam izstrādes procesam.

Dockerfile Basic

Pirms darba ar dockerfile ir svarīgi zināt, kā izveidot dockerfile. Dockerfile ietver konkrētus atslēgvārdus, kurus var izmantot, lai izveidotu noteiktu attēlu. Zemāk ir īss visu dockerfailā izmantoto atslēgvārdu skaidrojums:

Dockerfile izveide

Šajā sadaļā mēs izveidosim dockerfile, lai izveidotu LAMP servera attēlu no Ubuntu bāzes attēla.

Pirmkārt, jums būs jāizveido direktorija, lai saglabātu dockerfile. To var izveidot ar šādu komandu:

mkdir LAMP

Pēc tam direktorijā izveidojiet direktoriju ar nosaukumu Dockerfile:

nano LAMP / Dockerfile

Pievienojiet šādas rindas:

NO ubuntu: jaunākais
UZTURĒTĀJS Hitesh Jethva
ENV DEBIAN_FRONTEND = neinteraktīvs
Palaidiet 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"]
IEDARBĪBA 8080

Kad esat pabeidzis, saglabājiet un aizveriet failu.

Celtniecības attēls ar Dockerfile

Pēc Dockerfile izveides jūs varat viegli izveidot pielāgotu LAMP attēlu ar Dockerfile palīdzību.

Vispirms nomainiet direktoriju uz LAMP un izpildiet šādu komandu, lai izveidotu attēlu no šī faila:

cd LAMP
docker build -t "lampa: Dockerfile".

Iepriekš minētā komanda sāks lejupielādēt jaunāko Ubuntu attēlu no Docker Hub un instalēja nepieciešamās paketes, kas norādītas Dockerfile. Kad attēls ir veiksmīgi izveidots, jums vajadzētu redzēt šādu izvadi:

Veidošanas konteksta nosūtīšana Docker 2. dēmonam.048 kB
1/6. Darbība: NO Ubuntu: jaunākais
jaunākais: Vilkšana no bibliotēkas / ubuntu
54ee1f796a1e: Pavelciet pilnībā
f7bfea53ad12: Pavelciet pilnībā
46d371e02073: Pavelciet pilnībā
b66c17bbf772: Pavelciet pilnībā
Digest: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Statuss: Lejupielādēts jaunāks attēls Ubuntu: jaunākais
---> 4e2eef94cd6b
2./6. Darbība: UZTURĒTĀJS Hitesh Jethva
---> Darbojas 047977af2c2a
Starptvertnes 047977af2c2a noņemšana
---> 1331df625c4c
3./6. Darbība: ENV DEBIAN_FRONTEND = neinteraktīvs
---> Darbojas 3597152c7a1b
Starptvertnes 3597152c7a1b noņemšana
---> 86c82c95e75d
4./6. Darbība: Palaidiet 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
Starppatvertnes noņemšana 322532299fd9
---> f6897a9554f7
5./6. Darbība: CMD ["apachectl", "- D", "FOREGROUND"]
---> Darbojas 669635bc8bcb
Starptvertnes 669635bc8bcb noņemšana
---> e8400eb2e677
6./6. Darbība: IEDARBĪBA 8080
---> Darbojas 937ae2b2d305
Starppatvertnes 937ae2b2d305 noņemšana
---> 2123a857361d
Veiksmīgi uzbūvēts 2123a857361d
Veiksmīgi atzīmēta lampa: Dockerfile

Tagad jūs varat uzskaitīt savu nesen izveidoto attēlu, izpildot šādu komandu:

dokeru attēli

Jums vajadzētu redzēt šādu izvadi:

REZERVES TAGA ATTĒLA ID IZVEIDOTS IZMĒRS
lampa Dockerfile 2123a857361d pirms 44 sekundēm 520MB
ubuntu latest 4e2eef94cd6b pirms 8 dienām 73.9 MB

Tagad jūsu rokā ir pielāgots LAMP servera attēls. Varat arī skatīt katras komandas vēsturi ar šādu komandu:

docker vēstures lampa: Dockerfile

Jums vajadzētu redzēt šādu izvadi:

IZVEIDOTS ATTĒLS, KURU RADA PĒC IZMĒRA KOMENTĀRI
2123a857361d pirms 16 minūtēm / bin / sh -c # (nop) EXPOSE 8080 0B
e8400eb2e677 pirms 16 minūtēm / bin / sh -c # (nop) CMD ["apachectl" "-D" "FO… 0B
f6897a9554f7 pirms 16 minūtēm / bin / sh -c apt-get update -y && apt-get inst… 446 MB
86c82c95e75d pirms 17 minūtēm / bin / sh -c # (nop) ENV DEBIAN_FRONTEND = nonin… 0B
1331df625c4c pirms 17 minūtēm / bin / sh -c # (nop) MAINTAINER Hitesh Jethva 0B
4e2eef94cd6b pirms 8 dienām / bin / sh -c # (nop) CMD ["/ bin / bash"] 0B

Konteinera izveide no LAMP attēla

Tagad jūs varat palaist konteineru no sava attēla, izmantojot šādu komandu:

docker run -dit lampa: Dockerfile

Kad konteiners ir palaists, jums vajadzētu redzēt šādu izvadi:

0d2beb7dba01bb763768b116f734ae68286cee00d2ae923b2b7241c39ad54208

Darbojošo konteineru varat pārbaudīt, izmantojot šādu komandu:

dokers ps

Jums vajadzētu iegūt šādu izvadi:

KONTEINERA ID ATTĒLU KOMANDAS VEIDOTI STATUSA OSTU NOSAUKUMI
c14794784eb2 lampiņa: Dockerfile "apachectl-D FOREGR ..." pirms 2 minūtēm uz augšu 2 minūtes 0.0.0.0: 8080-> 8080 / tcp quirky_ramanujan

Secinājums

Šajā ceļvedī jūs uzzinājāt, kas ir Dockerfile un kā izveidot Dockerfile ar Dockerfile. Tas ir ļoti noderīgi, lai izveidotu pielāgotus attēlus, nevis veiktu izmaiņas izvilktajā attēlā.

5 labākās arkādes spēles Linux
Mūsdienās datori ir nopietnas mašīnas, kuras izmanto spēlēšanai. Ja jūs nevarat iegūt jauno augsto rezultātu, jūs zināt, ko es domāju. Šajā ierakstā j...
Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...