Debian

Docker-afbeeldingen automatisch bouwen in Debian 10 (Buster)

Docker-afbeeldingen automatisch bouwen in Debian 10 (Buster)

Docker is tegenwoordig een on-demand technologie, omdat veel grote bedrijven het gebruiken om hun werkdruk te verminderen. Het wordt gebruikt voor het bouwen, verpakken en implementeren van applicaties bovenop containertechnologie. Docker kan een applicatie met een hoog resourcegebruik uitvoeren met minimaal resourcegebruik. De op hypervisor gebaseerde virtualisatie vereist veel middelen door een volledig besturingssysteem te installeren, terwijl Docker zeer lichtgewicht en schaalbare containers gebruikt om applicaties uit te voeren.

Docker kan worden geïnstalleerd op Linux, Mac en Windows. Hoewel het native op Linux draait, moet Hyper-V worden ingeschakeld op Windows.

Docker heeft ook een Docker Hub, een cloudgebaseerde service waar we afbeeldingen van geverifieerde uitgevers kunnen vinden, en we kunnen ook onze eigen aangepaste afbeeldingen publiceren en delen.  Zodra we een afbeelding uit Docker Hub hebben gehaald, kunnen we meerdere containers van dezelfde afbeelding maken.

Eigenschappen van Docker:

  1. Het is open source software.
  2. Biedt Platform as a Service voor het uitvoeren van applicaties in een virtuele omgeving.
  3. Het is heel gemakkelijk om de Docker-technologie te begrijpen en te gebruiken.
  4. Docker-applicaties kunnen eenvoudig worden verplaatst en worden uitgevoerd op elk systeem waarop Docker is geïnstalleerd.
  5. Migratie van docker-containers gaat erg snel van cloudomgeving naar localhost en vice versa.

Docker kan de instructies in de Dockerfile lezen en uitvoeren en automatisch de opgegeven afbeelding bouwen. Deze gids zal zien hoe we automatisch een docker-image kunnen bouwen met behulp van een Dockerfile op het Debian 10 (Buster) besturingssysteem. We zullen de Nginx-webserver implementeren en een aangepaste Docker-afbeelding maken.

Vereisten:

  1. Toegang tot "sudo"-rechten.
  2. Basiskennis van Docker-opdrachten.

Voordat we aan onze reis beginnen, laten we snel enkele belangrijke concepten en vereisten bekijken die nodig zijn om deze gids te begrijpen. Het eerste is dat je Docker op je systeem moet hebben geïnstalleerd. Als je dat nog niet hebt gedaan, kun je deze handleiding volgen om docker te installeren. U kunt ook de officiële handleiding gebruiken die beschikbaar is op de Docker-website voor het installeren van Docker op Debian 10.

  1. Dockerbestand: Dit bestand beschrijft de hele configuratie die we in onze Docker-container willen hebben. Het is een reeks instructies die definieert hoe een afbeelding moet worden gemaakt.
  2. Docker-afbeelding: Het is eigenlijk de sjabloonafbeelding die we kunnen gebruiken om onze aangepaste container te bouwen. We kunnen zeggen dat een docker-afbeelding een onveranderlijk bestand of een alleen-lezen afbeelding is.
  3. Docker-container: In zeer eenvoudige bewoordingen is een Docker-container een instantie van onze docker-afbeelding. We kunnen zeggen dat de Docker-afbeelding een basisafbeelding is en we maken een aangepaste container bovenop een Docker-afbeelding door een beschrijfbare laag aan deze afbeelding toe te voegen.  We kunnen een enkele Docker-afbeelding gebruiken om meerdere Docker-containers te maken.

Ik hoop dat deze recensie voldoende is om aan de slag te gaan met Docker. Dus laten we een duik nemen om te zien hoe u automatisch afbeeldingen kunt bouwen met Dockerfile.

Stap 1: De allereerste stap bij het bouwen van een afbeelding begint met een docker-bestand. Dus laten we eerst een werkmap maken, en daarbinnen zullen we een Dockerfile maken.

$ mkdir mydock1 #  Hiermee wordt een nieuwe map gemaakt.
$ nano Dockerfile # Dit is ons dockerbestand.

We kunnen elke teksteditor gebruiken behalve nano zoals vi of vim.

Stap 2. Voeg de volgende inhoud toe aan het Docker-bestand en sla het op.

VAN ubuntu
ONDERHOUDER linuxhint
VOER apt-get update uit \
&& apt-get install -y nginx \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& echo "daemon uit;" >> /etc/nginx/nginx.conf
BLOOT 80
CMD-service nginx start

Stap 3. Nu we ons Docker-bestand gereed hebben, is het tijd om de afbeelding te bouwen. Gebruik gewoon de volgende opdracht:

$ sudo docker build -t webserver-image:v1 .

Syntaxis:

sudo docker build -t naam:tag /path/to/directory/of/dockerfile

Opmerking: Voer altijd het docker-commando uit met root-gebruiker- of "sudo"-rechten om de fout te voorkomen: "Kreeg toestemming geweigerd tijdens een poging om verbinding te maken met de Docker-daemon-socket op unix:///var/run/docker"

In de bovenstaande opdracht is de webserver-afbeelding de naam van onze docker-afbeelding. U kunt hier uw aangepaste naam gebruiken. V1 is de tag voor onze afbeelding.

Als alles goed gaat, zouden we de volgende uitvoer moeten zien:

Bouwcontext verzenden naar Docker-daemon  2.048kB

Stap 1/5: VANAF ubuntu

-> f643c72bc252

Stap 2/5: ONDERHOUD linuxhint

-> Cache gebruiken

-> 1edea6faff0d

Stap 3/5 : VOER apt-get update     && apt-get install -y nginx     && apt-get clean     && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*     && echo “ daemon uit;” >> /etc/nginx/nginx.conf

-> Cache gebruiken

-> 81398a98cf92

Stap 4/5: BLOOT 80

-> Cache gebruiken

-> 2f49ffec5ca2

Stap 5/5: CMD-service nginx starten

-> Cache gebruiken

-> 855796a41bd6

Met succes gebouwd 855796a41bd6

Succesvol getagd webserver-image:v1


Stap 4. Als we een aantal afbeeldingen hebben, kunnen we de onderstaande opdracht gebruiken om naar een specifieke afbeelding te zoeken:

$ sudo docker-afbeeldingen

Stap 5. Nu zullen we onze docker-afbeelding uitvoeren om te zien of deze werkt zoals verwacht:

$ sudo docker run -d -p 80:80 webserver-image:v1

Na een succesvolle run zal het een lange id genereren, zoals hieronder getoond:

Stap 6. Als alles goed gaat, zouden we onze webpagina in onze nginx-webbrowser in de docker moeten kunnen zien. Voer de onderstaande opdracht uit om het te controleren:

$ krul 'ip_adres'

Houd er rekening mee dat het IP-adres dat we hier gebruiken het IP-adres van de docker-container is dat is geïnstalleerd op ons hostbesturingssysteem. Voer de volgende opdracht op de host uit om het hier vereiste ip-adres precies te weten:

$ ip een | grep ^docker

De bovenstaande opdracht bevat het IP-adres dat we hier moeten gebruiken.

De bovenstaande curl-opdracht geeft de index weer.html-inhoud van de nginx-webserver.

Een andere eenvoudige en ongecompliceerde manier is om de docker door te geven als het curl-argument, zoals hieronder wordt weergegeven:

Stap 7. Als je wilt, kun je controleren welke poort en processen in onze docker-container draaien. Voer de onderstaande opdracht uit:

$ sudo docker ps

Dit voltooit onze gids over het automatisch bouwen van Docker-images op Debian 10 (Buster). We hebben gezien hoe we Docker-afbeeldingen kunnen maken vanuit Dockerfile in plaats van elke afbeelding handmatig te bewerken.

Hoewel deze handleiding wordt uitgevoerd op Debian 10, zou deze ook moeten worden uitgevoerd op andere op Debian gebaseerde distributies zoals Ubuntu, Linux mint, enz. Vergeet deze gids niet met anderen te delen. Abonneer je ook op onze blog om de nieuwste update en HowTo's op Linux te krijgen.

Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...
Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...