Docker

Sådan fungerer Dockerfile?

Sådan fungerer Dockerfile?
Du kan kun installere en enkelt container ved hjælp af dockerbilledet. Men hvis du har brug for at distribuere flere containere (hver til forskellige opgaver) fra det samme billede, hvad sker der dog? Du kan løse dette ved hjælp af dockerfilen.

Dockerfile er en simpel tekstfil, der indeholder alle de kommandoer, som brugeren kan kalde på kommandolinjen for at samle eller oprette et billede. Ved hjælp af docker build kan du nemt automatisere build, der kører flere kommandoer defineres i dockerfilen i rækkefølge.

For eksempel vil du downloade docker-billedet fra docker-hub'en til dine specifikke udviklingsbehov. Derefter vil du opdatere billedet, installere nogle pakker til din udviklingsproces. I dette tilfælde kan du oprette en dockerfil, inkludere alle parametre til dine specifikke behov og oprette dit brugerdefinerede billede. Når du har oprettet en dockerfil, kan du bruge den igen og igen til at opbygge det samme billede uden manuelt at installere alle nødvendige pakker til din udviklingsproces.

Dockerfile Basic

Inden du arbejder med dockerfile, hvis det er vigtigt at vide, hvordan man laver en dockerfile. Dockerfile inkluderer specifikke nøgleord, der kan bruges til at oprette et specifikt billede. En kort forklaring af alle nøgleord, der bruges i en dockerfil, er angivet nedenfor:

Oprettelse af Dockerfile

I dette afsnit opretter vi en dockerfil til at oprette et LAMP-serverbillede fra Ubuntu-basisbilledet.

Først skal du oprette en mappe for at gemme dockerfilen. Du kan oprette den med følgende kommando:

mkdir LAMPE

Opret derefter et bibliotek med navnet Dockerfile inde i biblioteket:

nano LAMP / Dockerfile

Tilføj følgende linjer:

FRA ubuntu: nyeste
VEDLIGEHOLDER Hitesh Jethva
ENV DEBIAN_FRONTEND = ikke-interaktiv
KØR apt-get opdatering -y && apt-get installer apache2 mariadb-server
libapache2-mod-php php php-cli php-common php-mysql php-json php-curl -y
CMD ["apachectl", "- D", "FOREGROUND"]
EKSPONER 8080

Gem og luk filen, når du er færdig.

Bygningsbillede med Dockerfile

Efter oprettelse af Dockerfile kan du nemt oprette et brugerdefineret LAMP-billede ved hjælp af Dockerfile.

Skift først biblioteket til LAMP og kør følgende kommando for at oprette billedet fra den fil:

cd LAMPE
docker build -t "lampe: Dockerfile".

Ovenstående kommando begynder at downloade det nyeste Ubuntu-billede fra Docker Hub og installere nødvendige pakker, der er specificeret i Dockerfile. Når billedet er bygget med succes, skal du se følgende output:

Afsendelse af byggekontekst til Docker-dæmon 2.048 kB
Trin 1/6: FRA ubuntu: nyeste
seneste: Henter fra bibliotek / ubuntu
54ee1f796a1e: Træk komplet
f7bfea53ad12: Træk komplet
46d371e02073: Træk komplet
b66c17bbf772: Træk komplet
Fordøjelse: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Status: Downloadet nyere billede til ubuntu: nyeste
---> 4e2eef94cd6b
Trin 2/6: VEDLIGEHOLDER Hitesh Jethva
---> Kører i 047977af2c2a
Fjernelse af mellembeholder 047977af2c2a
---> 1331df625c4c
Trin 3/6: ENV DEBIAN_FRONTEND = ikke-interaktiv
---> Kører i 3597152c7a1b
Fjernelse af mellembeholder 3597152c7a1b
---> 86c82c95e75d
Trin 4/6: KØR 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
Fjernelse af mellembeholder 322532299fd9
---> f6897a9554f7
Trin 5/6: CMD ["apachectl", "- D", "FOREGROUND"]
---> Kører i 669635bc8bcb
Fjernelse af mellembeholder 669635bc8bcb
---> e8400eb2e677
Trin 6/6: EKSPONER 8080
---> Kører i 937ae2b2d305
Fjernelse af mellembeholder 937ae2b2d305
---> 2123a857361d
Vellykket bygget 2123a857361d
Tagget lampe med succes: Dockerfile

Du kan nu liste dit nyoprettede billede ved at køre følgende kommando:

docker-billeder

Du skal se følgende output:

REPOSITORY TAG BILLED-ID OPRETTET STØRRELSE
lampe Dockerfile 2123a857361d 44 sekunder siden 520MB
ubuntu seneste 4e2eef94cd6b 8 dage siden 73.9 MB

Nu har du et brugerdefineret LAMP-serverbillede i din hånd. Du kan også se historikken for hver kommando med følgende kommando:

docker historie lampe: Dockerfile

Du skal se følgende output:

BILLEDE OPRET OPLAGET AF STØRRELSESKOMMENTARER
2123a857361d for 16 minutter siden / bin / sh -c # (nop) EXPOSE 8080 0B
e8400eb2e677 for 16 minutter siden / bin / sh -c # (nop) CMD ["apachectl" "-D" "FO… 0B
f6897a9554f7 for 16 minutter siden / bin / sh -c apt-get update -y && apt-get inst… 446MB
86c82c95e75d 17 minutter siden / bin / sh -c # (nop) ENV DEBIAN_FRONTEND = nonin… 0B
1331df625c4c 17 minutter siden / bin / sh -c # (nop) VEDLIGEHOLDER Hitesh Jethva 0B
4e2eef94cd6b 8 dage siden / bin / sh -c # (nop) CMD ["/ bin / bash"] 0B

Oprettelse af en container fra LAMP-billede

Nu kan du køre en container fra dit billede ved hjælp af følgende kommando:

docker run -dit lampe: Dockerfile

Når beholderen er startet, skal du se følgende output:

0d2beb7dba01bb763768b116f734ae68286cee00d2ae923b2b7241c39ad54208

Du kan kontrollere den kørende container ved hjælp af følgende kommando:

docker ps

Du skal få følgende output:

CONTAINER ID BILLEDE KOMMANDO OPRET STATUS PORTS NAVNE
c14794784eb2 lampe: Dockerfile "apachectl -D FOREGR ..." 2 minutter siden Op 2 minutter 0.0.0.0: 8080-> 8080 / tcp quirky_ramanujan

Konklusion

I denne vejledning lærte du, hvad der er Dockerfile, og hvordan man bygger et dockerbillede med Dockerfile. Dette er meget nyttigt til at oprette dine brugerdefinerede billeder i stedet for at foretage ændringer i et trukket billede.

Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...
Mus Sådan ændres venstre og højre museknap på Windows 10-pc
Sådan ændres venstre og højre museknap på Windows 10-pc
Det er en ganske normal, at alle computermusenheder er ergonomisk designet til højrehåndede brugere. Men der er musenheder til rådighed, der er specie...
Mus Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Brug af en mus eller et tastatur i den forkerte kropsholdning af overdreven brug kan resultere i mange sundhedsmæssige problemer, herunder stamme, kar...