Bygg automatisk Docker -bilder i Debian Top 10

Bygg automatisk Docker -bilder i Debian Top 10

Docker er en on-demand-teknologi i disse dager, ettersom mange store selskaper bruker den for å redusere arbeidsmengden. Den brukes til å bygge, emballasje og distribuere applikasjoner på toppen av containerteknologi. Docker kan kjøre en høy ressursutnyttelsesapplikasjon med minimumsressursbruk. Den hypervisorbaserte virtualiseringen krever mange ressurser ved å installere et helt operativsystem, mens Docker bruker veldig lette og skalerbare containere for å kjøre applikasjoner.

Docker kan installeres på Linux, Mac og Windows. Selv om det kjører innfødt på Linux, krever det at Hyper-V er aktivert på Windows.

Docker har også et Docker Hub, en skybasert tjeneste der vi kan finne bilder fra bekreftede utgivere, og vi kan også publisere og dele våre egne tilpassede bilder. Når vi har trukket et bilde fra Docker Hub, kan vi lage mange containere fra det samme bildet.

Funksjoner ved Docker:

  1. Det er åpen kildekode-programvare.
  2. Tilbyr plattform som en tjeneste for å kjøre applikasjon i et virtuelt miljø.
  3. Det er veldig enkelt å forstå og bruke Docker -teknologien.
  4. Docker -applikasjoner kan enkelt flyttes og kjøres på ethvert system med Docker installert på det.
  5. Migrasjon av Docker -containere er veldig raskt fra skylmiljø til localhost og omvendt.

Docker kan lese og utføre instruksjonene i Dockerfile og automatisk bygge det spesifiserte bildet. Denne guiden vil se hvordan vi automatisk kan bygge et Docker -bilde ved hjelp av en DockerFile på Debian 10 (Buster) operativsystemet. Vi distribuerer Nginx -webserveren og oppretter et tilpasset Docker -bilde.

Forutsetninger:

  1. Tilgang til "sudo" -rettigheter.
  2. Grunnleggende kunnskap om Docker -kommandoer.

Før vi starter reisen, la oss raskt gjennomgå noen viktige konsepter og krav som er nødvendige for å forstå denne guiden. Det første er at du skal ha Docker installert på systemet ditt. Hvis du ikke allerede har det, kan du følge denne guiden for å installere Docker. Du kan også bruke den offisielle guiden som er tilgjengelig på Docker -nettstedet for å installere Docker på Debian 10.

  1. Dockerfile: Denne filen beskriver hele konfigurasjonen vi vil ha i Docker -beholderen vår. Det er et sett med instruksjoner som definerer hvordan du bygger et bilde.
  2. Docker -bilde: Det er faktisk malbildet vi kan bruke til å bygge vår tilpassede beholder. Vi kan si at et Docker-bilde er en uforanderlig fil eller et skrivebeskyttet bilde.
  3. Docker Container: Med veldig enkle ord er en Docker -beholder en forekomst av Docker -bildet vårt. Vi kan si at Docker -bildet er et basisbilde, og vi lager en tilpasset beholder på toppen av et Docker -bilde ved å legge til et skrivbart lag på dette bildet. Vi kan bruke et enkelt Docker -bilde for å lage flere Docker -containere.

Jeg håper denne anmeldelsen er nok til at vi kommer i gang med Docker. Så la oss dykke inn for å se hvordan du bygger bilder ved hjelp av Dockerfile automatisk.

Trinn 1: Det aller første trinnet i å bygge et bilde starter med en Docker -fil. Så la oss først lage en fungerende katalog, og inni den vil vi lage en Dockerfile.

$ mkdir mydock1 # Dette oppretter en ny katalog.
$ nano dockerfile # dette er vår dockerfile.

Vi kan bruke hvilken som helst tekstredigerer foruten Nano som VI eller VIM.

Steg 2. Legg til følgende innhold i Dockerfile og lagre det.

Fra Ubuntu
Vedlikeholder Linuxhint
Kjør apt-get Update \
&& apt -get install -y nginx \
&& apt-get clean \
&& rm -rf/var/lib/apt/lister/*/tmp/*/var/tmp/* \
&& Echo "Daemon Off;" >>/etc/nginx/nginx.konf
Utsett 80
CMD Service Nginx Start

Trinn 3. Nå som vi har Dockerfile -klar, er det på tide å bygge bildet. Bare bruk følgende kommando:

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

Syntaks:

sudo docker build -t navn: tag/sti/til/katalog/av/dockerfile

Merk: Kjør alltid Docker -kommandoen med rotbruker eller "sudo" -rettigheter for å unngå feilen: "Fikk tillatelse nektet mens du prøvde å koble til Docker Daemon Socket på Unix: /// var/run/docker"

I kommandoen ovenfor er webserver-bildet navnet på Docker-bildet vårt. Du kan bruke ditt tilpassede navn her. V1 er taggen for bildet vårt.

Hvis alt går riktig, bør vi se følgende utdata:

Sende byggekontekst til Docker Daemon 2.048KB

Trinn 1/5: Fra Ubuntu

-> F643C72BC252

Trinn 2/5: Vedlikeholder Linuxhint

-> Bruke hurtigbuffer

-> 1Dea6FAFF0D

Trinn 3/5: Kjør apt-get Update && apt-get install -y nginx && apt-get clean && rm -rf/var/lib/apt/lister/*/tmp/*/var/tmp/* && ekko “ demon av; ” >>/etc/nginx/nginx.konf

-> Bruke hurtigbuffer

-> 81398a98cf92

Trinn 4/5: utsett 80

-> Bruke hurtigbuffer

-> 2f49ffec5ca2

Trinn 5/5: CMD Service Nginx Start

-> Bruke hurtigbuffer

-> 855796A41BD6

Vellykket bygget 855796A41BD6

Vellykket tagget webserver-image: v1


Trinn 4. Når vi har en rekke bilder, kan vi bruke kommandoen nedenfor til å se etter et spesifikt bilde:

$ sudo docker bilder

Trinn 5. Nå skal vi kjøre Docker -bildet vårt for å se om det fungerer som forventet:

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

Etter et vellykket løp vil det generere en lang ID som vist nedenfor:

Trinn 6. Hvis alt går riktig, skal vi kunne se websiden vår kjøre på NGINX -nettleseren vår inne i Docker. Kjør kommandoen nedenfor for å sjekke den:

$ curl 'ip_address'

Husk at IP -adressen vi bruker her er Docker -beholderens IP -adresse installert på vertsoperativsystemet vårt. For nøyaktig å kjenne IP -adressen som kreves her, kjør følgende kommando på verten:

$ ip a | grep ^docker

Kommandoen ovenfor vil inneholde IP -adressen som vi må bruke her.

Ovennevnte Curl -kommandoen vil vise indeksen.HTML -innhold på Nginx -webserveren.

En annen enkel og rett frem måte er å passere Docker som krøllargumentet, som vist nedenfor:

Trinn 7. Hvis du vil, kan du sjekke hvilke port og prosesser som kjører i Docker -beholderen vår. Kjør kommandoen nedenfor:

$ sudo docker ps

Dette fullfører guiden vår for automatisk å bygge Docker -bilder på Debian 10 (Buster). Vi har sett hvordan vi kan konstruere Docker -bilder fra Dockerfile i stedet for å redigere hvert bilde manuelt manuelt.

Selv om denne guiden er utført på Debian 10, bør den også kjøre på andre Debian-baserte distros som Ubuntu, Linux Mint, etc. Ikke glem å dele denne guiden med andre. Abonner også på bloggen vår for å få den siste oppdateringen og Howtos på Linux.