logo

Hva er Docker?

Docker er et sett med plattformer som en tjeneste (PaaS)-produkter som bruker virtualisering på operativsystemnivå for å levere programvare i pakker kalt containere. Beholdere er isolert fra hverandre og pakker sin egen programvare, biblioteker og konfigurasjonsfiler; de kan kommunisere med hverandre gjennom veldefinerte kanaler. Alle containere drives av en enkelt operativsystemkjerne og bruker derfor færre ressurser enn en virtuell maskin.

Innholdsfortegnelse



Hva er Docker?

Docker er en åpen kildekode containerisering plattform der du kan pakke applikasjonen din og alle dens avhengigheter i en standardisert enhet kalt en container. Containere er lette i vekt som gjør dem bærbare og de er isolert fra den underliggende infrastrukturen og fra hverandre container. Du kan kjøre docker-bilde som en docker container i enhver maskin der docker er installert uten å være avhengig av operativsystem.

Docker fikk sin popularitet på grunn av dens innvirkning på programvareutvikling og distribusjon. Følgende er noen av hovedårsakene til at docker blir populær:

  1. Portabilitet: Docker gjør det lettere for utviklerne å pakke applikasjonene sine med alle avhengigheter i en enkelt lettvektsbeholder. Det gjør det mulig å sikre konsistent ytelse på tvers av de forskjellige datamiljøene.
  2. Reproduserbarhet: Ved å kapsle inn applikasjonene med deres avhengigheter i en beholder, sikrer det at programvareoppsettene forblir konsistente på tvers av utviklings-, test- og produksjonsmiljøene.
  3. Effektivitet: Docker gjennom sin containerbaserte arkitektur optimaliserer den ressursutnyttelsen. Det lar utviklerne kjøre flere isolerte applikasjoner på et enkelt vertssystem.
  4. Skalerbarhet: Dockers skalerbarhetsfunksjoner gjorde det lettere for utviklerne å gjøre applikasjonshåndteringen enklere når arbeidsbelastningen øker.

Hva er en Dockerfile?

De Dockerfil bruker DSL (Domain Specific Language) og inneholder instruksjoner for å generere et Docker-bilde. Dockerfile vil definere prosessene for raskt å produsere et bilde. Mens du oppretter applikasjonen din, bør du opprette en Dockerfile i rekkefølge siden Docker-demon kjører alle instruksjonene fra topp til bunn.



(Docker-demonen, ofte referert til som Docker, er en bakgrunnstjeneste som administrerer Docker-beholdere på et system.)

  • Det er et tekstdokument som inneholder nødvendige kommandoer som ved utførelse hjelper til med å sette sammen et Docker-bilde.
  • Docker-bilde lages ved hjelp av en Dockerfile.
Dockerfil

For å vite mer om Dockerfilen, se Docker - Konseptet med Dockerfile .

Hva er Docker Architecture og hvordan Docker fungerer?

Docker bruker en klient-server-arkitektur. Docker-klienten snakker med docker-demonen som hjelper til med å bygge, kjøre og distribuere docker-beholderne. Docker-klienten kjører med daemonen på samme system, eller vi kan koble Docker-klienten med Docker-demonen eksternt. Ved hjelp av REST API over en UNIX-socket eller et nettverk, samhandler docker-klienten og daemonen med hverandre. For å vite mer om arbeid med docker, se Arkitektur til Docker .



Docker-arkitektur

Hva er Docker Image?

Det er en fil, som består av flere lag, som brukes til å kjøre kode i en Docker-beholder. De er et sett med instruksjoner som brukes til å lage docker-containere. Docker Image er en kjørbar programvarepakke som inkluderer alt som trengs for å kjøre en applikasjon. Dette bildet informerer om hvordan en beholder skal instansieres, og bestemmer hvilke programvarekomponenter som skal kjøres og hvordan. Docker Container er et virtuelt miljø som samler applikasjonskode med alle avhengighetene som kreves for å kjøre applikasjonen. Applikasjonen kjører raskt og pålitelig fra ett datamiljø til et annet.

Hva er Docker Container?

Docker-beholder er en kjøretidsforekomst av et bilde. Lar utviklere pakke applikasjoner med alle nødvendige deler, for eksempel biblioteker og andre avhengigheter. Docker-beholdere er kjøretidsforekomster av Docker-bilder. Beholdere inneholder hele settet som kreves for en applikasjon, slik at applikasjonen kan kjøres på en isolert måte. For eksempel - Anta at det er et bilde av Ubuntu OS med NGINX SERVER når dette bildet kjøres med docker run-kommandoen, så vil en container bli opprettet og NGINX SERVER vil kjøre på Ubuntu OS.

Hva er Docker Hub?

Docker Hub er en repository-tjeneste og det er en skybasert tjeneste der folk skyver Docker Container Images og også trekker Docker Container Images fra Docker Hub når som helst eller hvor som helst via internett. Generelt gjør det det enkelt å finne og gjenbruke bilder. Den gir funksjoner som at du kan skyve bildene dine som privat eller offentlig register hvor du kan lagre og dele Docker-bilder.

Hovedsakelig bruker DevOps-teamet Docker Hub. Det er et åpen kildekodeverktøy og fritt tilgjengelig for alle operativsystemer. Det er som lagring der vi lagrer bildene og trekker bildene når det er nødvendig. Når en person ønsker å skyve/trekke bilder fra Docker Hub, må de ha grunnleggende kunnskap om Docker. La oss diskutere kravene til Docker-verktøyet.

Hva er Docker Compose?

Docker Compose vil kjøre en YAML-basert multi-container-applikasjon. YAML-filen består av alle konfigurasjoner som trengs for å distribuere containere Docker Compose , som er integrert med Docker Swarm , og gir instruksjoner for bygging og distribusjon av containere. Med Docker Compose er hver container konstruert for å kjøre på en enkelt vert.

Hvordan laste ned Docker Desktop?

Docker Desktop gir GUI for å fungere på docker-containere, docker-bilder og docker-nettverk. Docker desktop gir et separat miljø som inneholder Docker Engine, Docker CLI, Docker Compose, Kubernetes, og andre verktøy som trengs for å bygge, sende og kjøre applikasjonene i form av containere som gjør det mer brukervennlig. For å vite mer om hvordan du installerer docker desktop, se Docker Desktop Eksempelbilde.

Docker-kommandoer

Ved å introdusere de essensielle docker-kommandoene, ble docker en kraftig programvare for å strømlinjeforme containeradministrasjonsprosessen. Det hjelper til med å sikre en sømløs arbeidsflyt for utvikling og distribusjon. Følgende er noen av docker-kommandoer som brukes ofte:

  • Docker Run: Den brukes til å starte beholderne fra bilder, med spesifisering av kjøretidsalternativer og kommandoer.
  • Docker Pull: Den henter containerbildene fra containerregisteret som Docker Hub til den lokale maskinen.
  • Docker ps : Det hjelper med å vise de kjørende containerne sammen med viktig informasjon som container-ID, brukt bilde og status.
  • Docker Stop : Det hjelper til med å stoppe de kjørende beholderne og stenge ned prosessene i dem.
  • Docker Start: Det hjelper med å starte de stoppede containerne på nytt, og gjenoppta driften fra forrige tilstand.
  • Docker-pålogging: Det hjelper å logge inn på docker-registeret som gir tilgang til private depoter.

For å vite mer om docker-kommandoene se Docker – Instruksjonskommandoer .

Docker Engine

Programvaren som er vert for containerne heter Docker Engine. Docker Engine er en klient-serverbasert applikasjon. Docker-motoren har 3 hovedkomponenter:

  1. Server: Det er ansvarlig for å lage og administrere Docker-bilder, containere, nettverk og volumer på Docker. Det blir referert til som en demonprosess.
  2. REST API : Den spesifiserer hvordan applikasjonene kan samhandle med serveren og instruerer den hva den skal gjøre.
  3. Klient: Klienten er et docker-kommandolinjegrensesnitt (CLI), som lar oss samhandle med Docker ved å bruke docker-kommandoene.

Hvorfor bruke Docker?

Docker kan brukes til å pakke applikasjonen og dens avhengigheter, noe som gjør det lett og enkelt å sende koden raskere med mer pålitelighet. Docker gjør det veldig enkelt å kjøre applikasjonen i produksjonsmiljøet docker container kan være plattformuavhengig hvis docker-motoren er installert i maskinen.

  • Ressurseffektivitet : Docker hjelper til med å maksimere ressursutnyttelsen ved å kjøre flere containere på en enkelt vert. Det hjelper med å redusere infrastrukturkostnadene og forbedrer effektiviteten.
  • Versjonskontroll: Det forenkler versjonsbehandlingen for applikasjonene og deres avhengigheter, og sikrer konsistens og gjør samarbeidet på tvers av teamene enklere.
  • Microservices Agility: Det muliggjør bruk av mikrotjenester-arkitektur, og fremmer skalerbarhet, fleksibilitet og feilisolering smidig applikasjonsutvikling.

Hva er Docker For AWS?

Docker er det kraftigste verktøyet for å kjøre applikasjonen i form av containere. Docker-containere er lette i vekt og kan kjøres på alle operativsystemer.

AWS tilbyr Amazon Elastic Container Service ( Amazon ECS ) det er en fullstendig administrert containertjeneste der du kan distribuere, skalere og administrere docker-containerne. Amazon ECS er den mest pålitelige plattformen i henhold til ytelsen, og den kan også integreres med den andre AWS-tjenesten som lastbalansering, tjenesteoppdagelse og overvåking av containerhelse. å vite mer om Amazon Elastic Container Service (Amazon ECS) .

Forskjellen mellom Docker-containere og virtuelle maskiner

Følgende er forskjellene mellom docker-containere og virtuelle maskiner:

Docker containere

Virtuelle maskiner

Docker Containers inneholder binærfiler, biblioteker og konfigurasjonsfiler sammen med selve applikasjonen.

Virtuelle maskiner (VM) kjører på Hypervisors, som lar flere virtuelle maskiner kjøre på en enkelt maskin sammen med sitt eget operativsystem.

De inneholder ikke et gjeste-OS for hver beholder og er avhengige av den underliggende OS-kjernen, noe som gjør beholderne lette.

Hver VM har sin egen kopi av et operativsystem sammen med applikasjonen og nødvendige binære filer, noe som gjør den betydelig større og krever mer ressurser.

Beholdere deler ressurser med andre beholdere i samme verts-OS og gir prosessisolasjon på OS-nivå.

De gir prosessisolasjon på maskinvarenivå og er trege med å starte opp.

Installer Docker på Ubuntu

Følgende trinn veileder deg i installasjonen av docker på ubuntu:

Trinn 1: Fjern gammel versjon av Docker

  • Utfør følgende kommando for å fjerne den gamle versjonen av docker-programvaren:
$ sudo apt-get remove docker docker-engine docker.io containerd runc>

Trinn 2: Installere Docker Engine

  • Følgende kommando brukes for installasjon av docker-motor:
$ sudo apt-get update   $ sudo apt-get install   ca-certificates   curl   gnupg   lsb-release $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ echo   'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu   $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list>/dev/null $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin $ sudo groupadd docker $ sudo usermod -aG docker $USER>

Trinn 3: Bekreft Docker-installasjonen

  • Sjekk om docker er installert på systemet ditt ved å prøve å kjøre en container med følgende kommando:
$ sudo docker run hello-world>

For mer informasjon om installasjonen av docker på ubuntu, se dette – Artikkel

Eksempeleksempel: Containerizing-applikasjon ved hjelp av Docker

Følgende trinn veileder i containerisering av applikasjonen ved hjelp av Docker:

Trinn 1: Lag Dokcerfile og Python-applikasjon

  • Opprett en mappe med 2 filer (Dockerfile og main.py-fil) i den

Trinn 2: Utvikle Python-kode

  • Rediger main.py med koden nedenfor, ellers kan du prøve å utvikle din egen python-kode.
Python
#!/usr/bin/env python3 print('Docker and GFG rock!')>

Trinn 3: Utvikle en Dockerfile

  • Rediger Dockerfile med instruksjonene nedenfor for utvikling av Dockerfile:
FROM python:latest COPY main.py / CMD [ 'python', './main.py' ]>

Trinn 4: Lag et Docker-bilde

  • Når du har opprettet og redigert main.py-filen og Dockerfilen, lag bildet som inneholder programmet ved å kjøre følgende kommando:
$ sudo docker build -t python-test .>
  • Alternativet '-t' lar deg definere navnet på bildet ditt. ‘python-test’ er navnet vi har valgt for bildet.

Trinn 5: Kjør Docker Container

  • Når bildet er opprettet, er koden klar til å starte.
$ sudo docker run python-test>

For å vite mer om denne containeriseringen av søknaden din, se dette – Artikkel

Eksempeleksempel for å skyve et bilde til Docker Hub

Følgende trinn veileder for å skyve et bilde til Dockerhub:

Trinn 1: Opprett en konto på Docker Hub eller bruk en eksisterende hvis du allerede har en.

Steg 2: Klikk på Create Repository-knappen, angi navnet på filen og klikk på Create.

Trinn 3: Nå vil merke bildet vårt og skyve det til Docker Hub-depotet som vi nettopp opprettet.

  • Kjør nå kommandoen nedenfor for å vise docker-bilder:
$ docker images>
  • Ovennevnte vil gi oss dette resultatet
REPOSITORY TAG IMAGE_ID CREATED SIZE afrozchakure/python-test latest c7857f97ebbd 2 hours ago 933MB>
  • Bilde-ID brukes til å merke bildet. Syntaksen for å merke bildet er:
docker tag /python-test:latest $ docker tag c7857f97ebbd afrozchakure/python-test:latest>

Trinn 4: Send bildet til Docker Hub-depotet

$ docker push afrozchakure/python-test>

For å vite mer om å publisere bildene til dockerhub, se dette – Artikkel

Hent og kjør bildet fra Docker Hub

1. For å fjerne alle versjoner av et bestemt bilde fra vårt lokale system, bruker vi bilde-IDen for det.

$ docker rmi -f af939ee31fdc>

2. Kjør nå bildet, det vil hente bildet fra docker-huben hvis det ikke finnes på din lokale maskin.

$ docker run afrozchakure/python-test>

Fordeler med Docker

Følgende er noen av fordelene med Docker:

  • Portabilitet: Docker-anlegg med oppretting av lette bærbare containere som ikke kan være i stand på noen maskin uavhengig av de underliggende operativsystemene.
  • Isolering: Docker through-containere gir et høyt isolasjonsnivå ved å gjøre det mulig for applikasjonene å kjøre uavhengig av hverandre og adressere problemene som en container ikke påvirker andre.
  • Reproduserbarhet: Med, kan Docker-utviklere enkelt pakke applikasjonene sine og deres avhengigheter inn i gjenbrukbare bilder. Det gir mulighet for konsistente og repodierbare bygg på tvers av utviklings-, test- og produksjonsmiljøene.
  • DevOps-integrasjon : Det fremmer samarbeid og automatisering på tvers av programvareutviklingens livssyklus ved å håndtere de økende arbeidsbelastningene.

Alternativer til Docker

Følgende er alternativene til Docker:

  • Dempet : Tilbyr en Docker-kompatibel containermotor med fokus på sikkerhet og kompatibilitet, ideell for miljøer der Docker ikke er foretrukket eller tilgjengelig.
  • rkt: En lett container-runtime utviklet av CoreOS, designet for enkelhet, sikkerhet og komponerbarhet, og tilbyr et alternativ til Dockers container-runtime.
  • LXC (Linux-beholdere): Gir virtualisering på operativsystemnivå for å kjøre flere isolerte Linux-systemer (containere) på en enkelt vert, og tilbyr et lett alternativ til Docker for visse brukstilfeller.
  • containerd: En industristandard kjernebeholderkjøring utviklet av Docker, Inc., og tilbyr en minimal og stabil plattform for å bygge containeriserte applikasjoner, ofte brukt som et alternativ på lavere nivå til Docker for mer avanserte containerorkestreringssystemer som Kubernetes.

Docker Security

Følgende er noen av innsiktene om havnearbeidersikkerhet:

  • Isolering : Docker-containere gir den sterke isolasjonen som sikrer at applikasjonene kjører og behandler dem.
  • Uforanderlig infrastruktur : Den fremmer bruken av uforanderlig infrastruktur, der containere bygges fra de uforanderlige bildene som er versjonskontrollerte.
  • Ressursbegrensninger: Den lar deg definere ressursbegrensninger for beholdere som CPU og minnegrenser.
  • Sikkerhetsskanning: Den gir de innebygde sikkerhetsskanneverktøyene som lar deg skanne beholderbildene for kjente sårbarheter og skadelig programvare før distribusjon.

Konklusjon

Så du har lært om det grunnleggende om Docker, forskjellen mellom virtuelle maskiner og Docker-beholdere langs noen vanlige terminologier i Docker. Vi gikk også gjennom installasjonen av Docker på systemene våre. Vi opprettet en applikasjon ved hjelp av Docker og overførte bildet vårt til Docker Hub. Til slutt lærte vi hvordan vi kunne fjerne et bestemt bilde fra vårt lokale system og senere hente bildet fra Docker Hub hvis det ikke eksisterer lokalt.

Docker – vanlige spørsmål

Hva er Docker Hub kort fortalt?

Docker Hub er et offentlig register der brukere/utviklere kan lagre og dele systembilder laget av dem og gjøre dem til å enkelt få tilgang til og gjenbruke bilder for andre programvareutviklere.

når kom windows 7 ut

Hva trengs for å bruke Docker Hub?

For å bruke Docker Hub må brukeren ha en konto på Docker Hub-plattformen. Hvis du ikke har en konto på Docker Hub, kan du opprette en ved å synge opp. Når du har en konto på Docker, kan du utføre operasjoner som push og pull bilder til og fra Docker Hub.

Hva er Docker-logger?

Docker-daemon og Docker-beholdere vil generere docker-loggene i form av tekstmeldinger som vil hjelpe deg videre med å feilsøke problemer, overvåke ytelsen til applikasjonene dine og samle informasjon om tilstanden til Docker-miljøet ditt.

Hva er Docker Build?

Docker build er en kommando som brukes til å bygge docker-bildet ved å bruke Dockerfilen.

Hva er Docker Ubuntu?

Docker Ubuntu er betegnelsen som brukes for å bruke Docker-tjenesten med Ubuntu-baserte operativsystemer. Å kjøre Docker er best egnet for den populære Linux-distribusjonen Ubuntu.