Debian

Bygg automatiskt Docker-bilder i Debian 10 (Buster)

Bygg automatiskt Docker-bilder i Debian 10 (Buster)

Docker är en on-demand-teknik idag eftersom många stora företag använder den för att minska sina arbetsbelastningar. Den används för att bygga, förpacka och distribuera applikationer utöver containerteknik. Docker kan köra en applikation med hög resursanvändning med minimal resursanvändning. Den hypervisorbaserade virtualiseringen kräver massor av resurser genom att installera ett helt operativsystem, medan Docker använder mycket lätta och skalbara behållare för att köra applikationer.

Docker kan installeras på Linux, Mac och Windows. Även om den körs inbyggt på Linux krävs det att Hyper-V är aktiverat på Windows.

Docker har också en Docker Hub, en molnbaserad tjänst där vi kan hitta bilder från verifierade utgivare, och vi kan också publicera och dela våra egna anpassade bilder.  När vi väl har tagit en bild från Docker Hub kan vi skapa många behållare från samma bild.

Funktioner i Docker:

  1. Det är programvara med öppen källkod.
  2. Ger plattform som en tjänst för att köra applikationer i en virtuell miljö.
  3. Det är väldigt enkelt att förstå och använda Docker-tekniken.
  4. Docker-applikationer kan enkelt flyttas och köras på vilket system som helst med Docker installerat.
  5. Migrering av dockercontainrar går mycket snabbt från molnmiljö till localhost och vice versa.

Docker kan läsa och utföra instruktionerna i Dockerfilen och automatiskt bygga den angivna bilden. Den här guiden kommer att se hur vi automatiskt kan bygga en dockaravbildning med hjälp av en Dockerfil i operativsystemet Debian 10 (Buster). Vi distribuerar Nginx-webbservern och skapar en anpassad Docker-avbildning.

Förutsättningar:

  1. Tillgång till "sudo" -behörigheter.
  2. Grundläggande kunskap om Docker-kommandon.

Innan vi börjar resan, låt oss snabbt granska några viktiga begrepp och krav som är nödvändiga för att förstå den här guiden. Det första är att du ska ha Docker installerat på ditt system. Om du inte redan har gjort kan du följa den här guiden för att installera dockaren. Du kan också använda den officiella guiden som finns på Docker-webbplatsen för att installera Docker på Debian 10.

  1. Dockerfil: Den här filen beskriver hela konfigurationen som vi vill ha i vår Docker-behållare. Det är en uppsättning instruktioner som definierar hur man bygger en bild.
  2. Docker-bild: Det är faktiskt mallbilden vi kan använda för att bygga vår anpassade container. Vi kan säga att en dockningsbild är en oföränderlig fil eller en skrivskyddad bild.
  3. Docker Container: Med mycket enkla ord är en Docker-behållare en förekomst av vår dockeravbildning. Vi kan säga att Docker-bilden är en basbild och vi skapar en anpassad behållare överst på en Docker-bild genom att lägga till ett skrivbart lager på den här bilden.  Vi kan använda en enda Docker-bild för att skapa flera Docker-behållare.

Jag hoppas att denna recension är tillräcklig för att vi ska komma igång med Docker. Så låt oss dyka in för att se hur man bygger bilder med Dockerfile automatiskt.

Steg 1: Det allra första steget i att bygga en bild börjar med en dockerfil. Så låt oss först skapa en fungerande katalog och inuti den gör vi en Dockerfile.

$ mkdir mydock1 # Detta skapar en ny katalog.
$ nano Dockerfile # Detta är vår dockerfil.

Vi kan använda vilken textredigerare som helst förutom nano som vi eller vim.

Steg 2. Lägg till följande innehåll i Dockerfilen och spara den.

FRÅN ubuntu
UNDERHÅLLARE linuxhint
KÖR apt-get-uppdatering \
&& apt-get install -y nginx \
&& apt-get clean \
&& rm -rf / var / lib / apt / lists / * / tmp / * / var / tmp / * \
&& echo "daemon off;" >> / etc / nginx / nginx.konf
EXPONERA 80
CMD-tjänst nginx start

Steg 3. Nu, när vi har vår Dockerfile redo, är det dags att bygga bilden. Använd bara följande kommando:

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

Syntax:

sudo docker build -t namn: tag / sökväg / till / katalog / av / dockerfil

Notera: Kör alltid docker-kommandot med root-användare eller "sudo" -behörigheter för att undvika felet: "Fick tillstånd nekat när du försökte ansluta till Docker-demon-uttaget vid unix: /// var / run / docker"

I ovanstående kommando är webserverbilden namnet på vår dockerbild. Du kan använda ditt anpassade namn här. V1 är taggen för vår bild.

Om allt går rätt bör vi se följande utdata:

Skickar byggkontext till Docker daemon 2.048 kB

Steg 1/5: FRÅN ubuntu

-> f643c72bc252

Steg 2/5: UNDERHÅLLARE linuxhint

-> Använda cache

-> 1edea6faff0d

Steg 3/5: KÖR apt-get-uppdatering && apt-get install -y nginx && apt-get clean && rm -rf / var / lib / apt / lists / * / tmp / * / var / tmp / * && echo “ daemon off; ” >> / etc / nginx / nginx.konf

-> Använda cache

-> 81398a98cf92

Steg 4/5: EXPONERA 80

-> Använda cache

-> 2f49ffec5ca2

Steg 5/5: CMD-tjänst nginx start

-> Använda cache

-> 855796a41bd6

Framgångsrikt byggt 855796a41bd6

Taggad webbserverbild: v1


Steg 4. När vi har ett antal bilder kan vi använda kommandot nedan för att leta efter en viss bild:

$ sudo docker-bilder

Steg 5. Nu kommer vi att köra vår dockerbild för att se om den fungerar som förväntat:

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

Efter en lyckad körning kommer den att generera ett långt ID som visas nedan:

Steg 6. Om allt går rätt bör vi kunna se vår webbsida som körs i vår nginx-webbläsare inuti dockaren. Kör kommandot nedan för att kontrollera det:

$ curl 'ip_address'

Kom ihåg att IP-adressen vi använder här är dockerbehållarens IP-adress installerad på vårt värdoperativsystem. För att exakt känna till den ip-adress som krävs här, kör följande kommando på värden:

$ ip a | grep ^ docker

Ovanstående kommando innehåller den IP-adress som vi måste använda här.

Ovanstående curl-kommando visar indexet.html-innehåll på nginx-webbservern.

Ett annat enkelt och enkelt sätt är att passera dockaren som curlargumentet, som visas nedan:

Steg 7. Om du vill kan du kontrollera vilken port och vilka processer som körs i vår dockercontainer. Kör kommandot nedan:

$ sudo docker ps

Detta kompletterar vår guide för att automatiskt bygga Docker-bilder på Debian 10 (Buster). Vi har sett hur vi kan konstruera Docker-bilder från Dockerfile istället för att redigera varje bild manuellt.

Även om den här guiden utförs på Debian 10, bör den också köras på andra Debian-baserade distros som Ubuntu, Linux mynta, etc. Glöm inte att dela den här guiden med andra. Prenumerera också på vår blogg för att få den senaste uppdateringen och HowTos på Linux.

Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...
OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...
OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...