Lučki radnik

Kako Dockerfile radi?

Kako Dockerfile radi?
Pomoću slike dockera možete rasporediti samo jedan spremnik. Međutim, ako trebate rasporediti nekoliko spremnika (svaki za različite zadatke) s iste slike, što se onda događa? To možete riješiti uz pomoć datoteke docker.

Dockerfile je jednostavna tekstualna datoteka koja sadrži sve naredbe koje bi korisnik mogao pozvati na naredbenom retku za sastavljanje ili izgradnju slike. Uz pomoć docker gradnje možete jednostavno automatizirati gradnju koja izvodi više naredbi definiranih u dockerfileu uzastopno.

Na primjer, želite preuzeti sliku dockera s čvorišta dockera za svoje specifične razvojne potrebe. Zatim želite ažurirati sliku, instalirati neke pakete za svoj razvojni proces. U tom slučaju možete stvoriti docker datoteku, uključiti sve parametre za svoje specifične potrebe i izgraditi svoju prilagođenu sliku. Nakon stvaranja docker datoteke, možete je koristiti više puta za izgradnju iste slike bez ručnog instaliranja svih potrebnih paketa za vaš razvojni proces.

Dockerfile Basic

Prije rada s dockerfileom, ako je važno znati kako napraviti dockerfile. Dockerfile uključuje određene ključne riječi koje se mogu koristiti za izgradnju određene slike. Kratko objašnjenje svih ključnih riječi koje se koriste u datoteci docker navedene su u nastavku:

Stvaranje datoteke Docker

U ovom ćemo odjeljku stvoriti docker datoteku za izgradnju slike LAMP poslužitelja od osnovne slike Ubuntua.

Prvo ćete trebati stvoriti direktorij za pohranu datoteke docker. Možete ga stvoriti sljedećom naredbom:

mkdir SVJETILJKA

Zatim stvorite direktorij pod nazivom Dockerfile unutar direktorija:

nano LAMPA / Dockerfile

Dodajte sljedeće retke:

IZ ubuntu-a: najnovije
ODRŽAVAČ Hitesh Jethva
ENV DEBIAN_FRONTEND = neinteraktivan
POKRENI apt-get update -y && apt-get install apache2 mariadb-server
libapache2-mod-php php php-cli php-uobičajeni php-mysql php-json php-curl -y
CMD ["apachectl", "- D", "NEGO"]
IZLOŽITE 8080

Spremite i zatvorite datoteku kada završite.

Izrada slike s Dockerfileom

Nakon stvaranja datoteke Docker, lako možete stvoriti prilagođenu LAMP sliku uz pomoć datoteke Docker.

Prvo promijenite direktorij u LAMP i pokrenite sljedeću naredbu za izgradnju slike iz te datoteke:

cd LAMPA
docker build -t "lampica: Dockerfile".

Gornja naredba započet će s preuzimanjem najnovije slike Ubuntua iz Docker Hub-a i instalirati potrebne pakete navedene u Dockerfileu. Nakon što je slika uspješno izgrađena, trebali biste vidjeti sljedeći izlaz:

Slanje konteksta gradnje u Docker demon 2.048kB
Korak 1/6: IZ ubuntu-a: najnoviji
najnovije: Povlačenje iz knjižnice / ubuntu
54ee1f796a1e: Povucite dovršeno
f7bfea53ad12: Povlačenje završeno
46d371e02073: Povlačenje završeno
b66c17bbf772: Povuci dovršeno
Sažetak: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Status: Preuzeta novija slika za ubuntu: najnovija
---> 4e2eef94cd6b
Korak 2/6: ODRŽAVAČ Hitesh Jethva
---> Trčanje u 047977af2c2a
Uklanjanje srednjeg spremnika 047977af2c2a
---> 1331df625c4c
Korak 3/6: ENV DEBIAN_FRONTEND = neinteraktivan
---> Trčanje u 3597152c7a1b
Uklanjanje međuspremnika 3597152c7a1b
---> 86c82c95e75d
Korak 4/6: POKRENI apt-get update -y && apt-get install apache2 mariadb-server
libapache2-mod-php php php-cli php-uobičajeni php-mysql php-json php-curl -y
Uklanjanje međuspremnika 322532299fd9
---> f6897a9554f7
Korak 5/6: CMD ["apachectl", "- D", "FOREGROUND"]
---> Trčanje u 669635bc8bcb
Uklanjanje srednjeg spremnika 669635bc8bcb
---> e8400eb2e677
Korak 6/6: IZLOŽITE 8080
---> Trčanje u 937ae2b2d305
Uklanjanje međuspremnika 937ae2b2d305
---> 2123a857361d
Uspješno izgrađena 2123a857361d
Uspješno označena svjetiljka: Dockerfile

Sada možete navesti novoizgrađenu sliku pokretanjem sljedeće naredbe:

dockerske slike

Trebali biste vidjeti sljedeći izlaz:

STVORENA VELIČINA ID-a SLIKE REPOZITORIJSKE TAG
lampica Dockerfile 2123a857361d prije 44 sekunde 520MB
ubuntu najnovije 4e2eef94cd6b prije 8 dana 73.9 MB

Sada u svojoj ruci imate prilagođenu sliku LAMP poslužitelja. Povijest svake naredbe možete vidjeti i pomoću sljedeće naredbe:

lampica povijesti dockera: Dockerfile

Trebali biste vidjeti sljedeći izlaz:

SLIKA STVORENA STVORENA PO VELIČINI KOMENTAROM
2123a857361d prije 16 minuta / bin / sh -c # (nop) EXPOSE 8080 0B
e8400eb2e677 prije 16 minuta / bin / sh -c # (nop) CMD ["apachectl" "-D" "FO… 0B
f6897a9554f7 prije 16 minuta / bin / sh -c apt-get update -y && apt-get inst… 446MB
86c82c95e75d prije 17 minuta / bin / sh -c # (nop) ENV DEBIAN_FRONTEND = nonin… 0B
1331df625c4c prije 17 minuta / bin / sh -c # (nop) ODRŽAVAČ Hitesh Jethva 0B
4e2eef94cd6b prije 8 dana / bin / sh -c # (nop) CMD ["/ bin / bash"] 0B

Stvaranje spremnika od LAMP slike

Sada možete pokrenuti spremnik sa slike pomoću sljedeće naredbe:

docker run -dit lampica: Dockerfile

Nakon što je spremnik pokrenut, trebali biste vidjeti sljedeći izlaz:

0d2beb7dba01bb763768b116f734ae68286cee00d2ae923b2b7241c39ad54208

Možete provjeriti pokrenut spremnik pomoću sljedeće naredbe:

docker ps

Trebali biste dobiti sljedeći izlaz:

ZAPOVIJED IDA SLIKE KONTEJNERA STVARANI STATUSI LUČKA IMENA
c14794784eb2 lampica: Dockerfile "apachectl -D FOREGR…" prije 2 minute Gore 2 minute 0.0.0.0: 8080-> 8080 / tcp quirky_ramanujan

Zaključak

U ovom vodiču naučili ste što je Dockerfile i kako napraviti Docker sliku s Dockerfileom. Ovo je vrlo korisno za stvaranje vlastitih slika, umjesto da izvršavate promjene na povučenoj slici.

Najpopularnije laboratorijske igre Oculus App
Ako ste vlasnik slušalica Oculus, tada morate biti sigurni u bočno učitavanje. Bočno učitavanje postupak je instaliranja nehranjenog sadržaja na vaše ...
10 najboljih igara za igranje na Ubuntuu
Windows platforma bila je jedna od dominantnih platformi za igre zbog ogromnog postotka igara koje se danas razvijaju kako bi podržavale Windows. Može...
5 najboljih arkadnih igara za Linux
U današnje vrijeme računala su ozbiljni strojevi koji se koriste za igre na sreću. Ako ne uspijete dobiti novi visoki rezultat, znat ćete na što misli...