Docker for nybegynnere: Alt du trenger å vite

Jun 15, 2025
Linux

Docker skaper pakket programmer kalt containere. Hver beholder tilveiebringer et isolert miljø som ligner en virtuell maskin (VM). I motsetning til VMS Docker beholdere [1. 3] ikke kjøre en full operativsystem . De deler vertens kjerne og Virtual på en programvare nivå.

Docker Basics

Docker har blitt en standard verktøy for programvareutviklere og systemadministratorer. Det er en fin måte å raskt starte programmer uten å påvirke resten av systemet. Du kan spinne opp en ny tjeneste med et enkelt Docker run kommando.

Containere kapsle alt som trengs for å kjøre et program, fra OS pakkeavhengigheter til din egen kildekode. Du definerer creation trinn en container er som instruksjoner i en Dockerfile . Havnearbeider bruker Dockerfile å konstruere en bilde .

Bilder definere programvare tilgjengelig i containere. Dette er løst samme som å starte en VM med et operativsystem ISO. Hvis du oppretter et bilde, vil eventuelle Docker brukeren kunne lansere app med Docker run .

Hvordan virker Docker arbeid?

Beholdere utnytte operativsystemet kjerne funksjoner for å tilveiebringe delvis virtuelle miljøer. Det er mulig å lage beholderne fra grunnen av med kommandoer som chroot . Dette starter en prosess med en spesifisert rotkatalogen i stedet for systemet roten. Men ved hjelp av kernel har direkte er fiddly, usikker, og utsatt for feil.

Havnearbeider er en komplett løsning for fremstilling, distribusjon og bruk av beholdere. Moderne Docker utgaver består av flere uavhengige komponenter . Først, det er den Docker CLI , Som er hva du kommuniserer med i terminalen. CLI sender kommandoer til en Docker daemon . Dette kan kjøres lokalt eller på en ekstern vert . Nissen er ansvarlig for å administrere containere og bildene de er laget av.

Den siste komponenten kalles beholderen kjøretids . Runtime påkaller kernel funksjoner for å faktisk lansere beholdere. Docker er kompatibel med kjøretidsfiler som holder seg til OCI-spesifikasjonen. Denne åpne standarden tillater interoperabilitet mellom ulike containerization verktøy.

Du trenger ikke å bekymre deg for mye om Docker indre arbeid når du først kommer i gang. installere Docker på systemet vil gi deg alt du trenger for å bygge og drive beholdere.

Hvorfor så mange mennesker bruker Docker?

Containere har blitt så populære fordi de løse mange felles utfordringer i programvareutvikling. Evnen til å containerize gang og kjøre overalt reduserer gapet mellom utviklingsmiljø og dine produksjonsservere.

Ved hjelp av containere gir deg trygghet på at alle miljøer er identiske. Hvis du har et nytt team medlem, de bare trenger å Docker run å sette opp sin egen utvikling eksempel. Når du starter tjenesten, kan du bruke Docker bildet for å distribuere til produksjon. De levende miljø vil samsvare nøyaktig med din lokale eksempel, unngå “det fungerer på min maskin” scenarier.

Docker er mer praktisk enn en fullverdig virtuell maskin. VM er generelle verktøy som er utformet for å støtte alle mulige arbeidsmengde. I motsetning til beholderne er lette, selvforsynt, og bedre egnet til kast brukstilfeller. Som Docker deler vertens kjerne, containere har en ubetydelig innvirkning på systemets ytelse. Container lanseringen tid er nesten momentant, mens du bare starte prosesser, ikke et helt operativsystem.

Starter

Docker er tilgjengelig på alle populære Linux-distribusjoner. Det kjører også på Windows og MacOS. Følg Docker oppsettsinstruksjonene for din plattform for å få den opp og kjører.

Du kan sjekke at installasjonen fungerer ved å starte en enkel beholder:

 Docker løp hei-verden 

Dette vil starte en ny container med den grunnleggende Hei Verden bilde. Bildet avgir noen utgang forklarer hvordan du bruker Docker. Beholderen deretter utganger, slippe deg tilbake til terminalen.

Opprette Images

Når du har kjørt Hei Verden , Du er klar til å lage dine egne Docker-bilder. En DockerFile beskriver hvordan du kjører tjenesten din Installere nødvendig programvare og kopiere i filer. Her er et enkelt eksempel ved hjelp av Apache webserveren:

 fra httpd: Siste
Kjør ekko "loadmodule headers_module modules / mod_headers.so" & gt; & gt; /usr/local/apache2/conf/httpd.conf.
Kopier .htaccess /var/www/html/.htaccess.
Kopier index.html /var/www/html/index.html.
Kopier CSS / / VAR / WWW / HTML / CSS 

De FRA Linjen definerer basisbildet. I dette tilfellet starter vi fra det offisielle Apache-bildet. Docker bruker de gjenværende instruksjonene i Dockerfile på toppen av basisbildet.

De LØPE Stage kjører en kommando i beholderen. Dette kan være noen kommando tilgjengelig i beholderens miljø. Vi gjør det mulig for overskrifter Apache-modulen, som kan brukes av .htaccess. Fil for å sette opp rutingsregler.

De endelige linjene kopierer HTML- og CSS-filene i arbeidskatalogen din i containerbildet. Bildet ditt inneholder nå alt du trenger for å kjøre nettstedet ditt.

Nå kan du bygge bildet:

 Docker Build -T My-Website: V1. 

Docker vil bruke DockerFile til å konstruere bildet. Du vil se utdata i terminalen din som Docker kjører hver av instruksjonene dine.

De -t. i kommandoen Merker bildet ditt med et gitt navn ( My-website: v1 ). Dette gjør det lettere å referere til i fremtiden. Tags har to komponenter, skilt av et kolon. Den første delen setter bildeavnet, mens den andre vanligvis betegner sin versjon. Hvis du unnlater tykktarmen, vil Docker standard å bruke siste som tagversjonen.

De . På slutten av kommandoen forteller Docker å bruke DockerFile i din lokale arbeidskatalog. Dette også setter byggekonteksten , slik at du kan bruke filer og mapper i arbeidskatalogen med KOPIERE Instruksjoner i Dockerfile.

Når du har opprettet bildet ditt, kan du starte en beholder ved hjelp av Docker kjøre :

 Docker Run -D -P 8080: 80 My-website: v1 

Vi bruker noen ekstra flagg med Docker kjøre her. De -D Flagg gjør Docker CLI løsne fra beholderen, slik at den kan kjøre i bakgrunnen. En portkartlegging er definert med -P. , så port 8080 på vertskartene dine til port 80 i beholderen. Du bør se din nettside hvis du besøker Localhost: 8080. i nettleseren din.

Docker-bilder dannes av lag. Hver instruksjon i Dockerfile skaper et nytt lag. Du kan bruke avanserte bygningsfunksjoner til Referanse Flere Basisbilder , kassere mellomstore lag fra tidligere bilder.

Bildegistre

Når du har et bilde, kan du presse det til et register. Registre gi sentralisert lagring Slik at du kan dele beholdere med andre. Standardregisteret er Dockernav .

Når du kjører en kommando som refererer til et bilde, kontrollerer Docker først om den er tilgjengelig lokalt. Hvis det ikke er det, vil det prøve å trekke det fra Docker Hub. Du kan manuelt trekke bilder med Docker Pull. kommando:

 Docker Trekk httpd: Siste 

Hvis du vil publisere et bilde, opprette en Dockernav regnskap. Løpe Docker Login. og skriv inn ditt brukernavn og passord.

Neste, merk bildet ditt ved hjelp av Docker Hub Brukernavn:

 Docker Tag My-Image: Siste Docker-Hub-Brukernavn / My-Image: Siste 

Nå kan du skyve bildet ditt:

 Docker Push Docker-Hub-Brukernavn / My-Image: Siste 

Andre brukere vil kunne trekke bildet og starte beholderne med den.

Du kan Kjør ditt eget register Hvis du trenger privat bildeoppbevaring. Flere tredjepartstjenester også Tilbyr Docker-registrer som alternativer til Docker Hub.

Administrere beholderne dine

Docker CLI har flere kommandoer for å la deg administrere dine løpende beholdere. Her er noen av de mest nyttige å vite:

Oppføringsbeholdere

Docker PS. Viser deg alle dine løpende beholdere. Legger til den -en Flagget vil vise stoppede containere også.

Stopper og starter beholdere

For å stoppe en beholder, løp Docker stopper min beholder . Erstatte min beholder med beholderens navn eller ID. Du kan få denne informasjonen fra PS. kommando. En stoppet beholder startes på nytt med Docker starter min beholder .

Beholdere kjører vanligvis så lenge deres hovedprosess forblir i live. Start retningslinjene på nytt Kontroller hva som skjer når en beholder stopper eller verten din starter på nytt. Sende - Restart alltid til Docker kjøre å lage en beholder omstart umiddelbart etter at den stopper.

Får et skall

Du kan Kjør en kommando i en beholder som bruker Docker Exec min-container min kommando . Dette er nyttig når du vil manuelt påkalle en kjørbar som er skilt til beholderens hovedprosess.

Legg til -den Flagg hvis du trenger interaktiv tilgang. Dette lar deg falle inn i et skall ved å løpe Docker Exec -It min-container sh .

Overvåke logger

Docker samler automatisk utdata utgitt til en beholderens standardinngangs- og utgangsstrømmer. De Docker logger min container Kommandoen vil vise en beholderlogger i terminalen din. De --Følg Flagg setter opp en kontinuerlig strøm, slik at du kan se logger i sanntid.

Rydder opp ressurser

Gamle beholdere og bilder kan raskt hoper seg på systemet ditt. Bruk Docker RM My-Container for å slette en beholder med sin ID eller navn.

Kommandoen for bilder er Docker RMI My-Image: Siste . Pass bildetes ID eller Full Tag-navn. Hvis du angir en tag, vil bildet ikke bli slettet til det ikke har flere merker tildelt. Ellers vil den oppgitte taggen bli fjernet, men bildens andre koder forblir brukbare.

Bulk clean-ups er mulige ved hjelp av Docker beskjæring kommando . Dette gir deg en enkel måte å fjerne alle stoppede containere og redundante bilder.

Grafisk styring

Hvis terminalen ikke er din ting, kan du bruke tredjepartsverktøy til Sett opp et grafisk grensesnitt for Docker . Web Dashboards lar deg raskt overvåke og administrere installasjonen din. De hjelper deg også med å ta fjernkontrollen til beholderne dine.

Vedvarende datalagring

Docker containere er ephemeral som standard. Endringer som er gjort på en containerens filsystem vil ikke fortsette etter at beholderen stopper. Det er ikke trygt å Kjør noen form for fillagringssystem i en beholder startet med en grunnleggende Docker kjøre kommando.

Det er noen forskjellige tilnærminger til Administrere vedvarende data . Den vanligste er å bruke et dockervolum. Volumer er lagringsenheter som er montert i containerfilsystemer. Eventuelle data i et volum forblir intakt etter at den koblede beholderen stopper, slik at du kan koble til en annen beholder i fremtiden.

Opprettholde sikkerhet

Dokkeriserte arbeidsbelastninger kan være sikrere enn sine bare Metal-kolleger, da Docker gir litt separasjon mellom operativsystemet og tjenestene dine. Likevel er Docker et potensielt sikkerhetsproblem, som det Kjører normalt AS rot og kan utnyttes for å kjøre skadelig programvare.

Hvis du bare kjører Docker som et utviklingsverktøy, er standardinstallasjonen generelt trygt å bruke. Produksjonsservere og maskiner med en nettverks-eksponert daemon-kontakt skal være herdet før du går live.

Revisjon av Docker-installasjonen å identifisere potensielle sikkerhetsproblemer. Det er Automatiserte verktøy tilgjengelig som kan hjelpe deg med å finne svakheter og foreslå resolusjoner. Du kan også Skann individuelle beholderbilder for problemer som kan utnyttes fra innsiden.

Arbeider med flere beholdere

De Docker. Kommandoen fungerer bare med en beholder om gangen. Du vil ofte bruke beholdere i aggregatet. Docker komponerer er et verktøy som lar deg definere beholderne dine erklært i en yaml-fil. Du kan starte dem alle sammen med en enkelt kommando.

Dette er nyttig når prosjektet ditt er avhengig av andre tjenester, for eksempel en webbackend som er avhengig av en databaseserver. Du kan definere begge beholderne i din Docker-kompose.yml. og dra nytte av strømlinjeformet ledelse med Automatisk nettverk .

Her er en enkel Docker-kompose.yml. fil:

 versjon: "3"
Tjenester:
  App:
    Bilde: App-server: Siste
    Porter:
      - 8000: 80
  Database:
    Bilde: Database-server: Siste
    Volumer:
        - Database-data: / Data
Volumer:
    Database-data: 

Dette definerer to beholdere ( app. og database ). Et volum er opprettet for databasen. Dette blir montert på /data i beholderen. App-serverens port 80 er utsatt som 8000 på verten. Løpe Docker-komponere up -d å spinne opp begge tjenestene, inkludert nettverket og volumet.

Bruken av Docker Compose lar deg Skriv gjenbrukbar Containerdefinisjoner som du kan dele med andre. Du kan begå en Docker-kompose.yml. inn i din versjonskontroll i stedet for å ha utviklere husker Docker kjøre kommandoer.

Det er også andre tilnærminger til å kjøre flere containere. Docker app er. en fremvoksende løsning som gir et annet nivå av abstraksjon. Andre steder i økosystemet, Podman er et dockeralternativ Det lar deg lage "pods" av containere i terminalen din.

Container orkestrasjon

Docker kjører normalt ikke som-er i produksjon. Det er nå mer vanlig å bruke en orkestrasjonsplattform som Kubernetes eller docker swarm modus. Disse verktøyene er designet for å håndtere Flere beholderreplikater, som forbedrer skalerbarhet og pålitelighet.

Docker er bare en komponent i bredere containeriseringsbevegelse. Orkestratorer utnytte det samme Container Runtime Technologies for å gi et miljø som er bedre egnet for produksjon. Bruker flere container forekomster tillater rullende oppdateringer I tillegg til distribusjon på tvers av maskiner, gjør distribusjonen mer motstandsdyktig mot endring og avbrudd. Den vanlige Docker. CLI målretter en vert og jobber med individuelle beholdere.

En kraftig plattform for beholdere

Docker gir deg alt du trenger for å jobbe med containere. Det har blitt et nøkkelverktøy for programvareutvikling og systemadministrasjon. De viktigste fordelene økes isolasjon og bærbarhet for individuelle tjenester.

Bli kjent med Docker krever en forståelse av de grunnleggende beholder- og bildekonseptene. Du kan søke disse for å lage dine spesialiserte bilder og miljøer som inneholder arbeidsbelastningen.


Linux - Mest populære artikler

Hva Are Bash Ordbøker på Linux, og hvordan bruker du dem?

Linux Jun 16, 2025

fatmawati achmad zaenuri / shutterstock.com Bash ordbøker gir deg hash kart og associative arrays i Linux Shell Scripts. Vi viser deg hvordan du bruker diss..


Hva er nytt i Linux Mint 20,2 “Uma”

Linux Jul 8, 2025

Linux mynte, en av de mer Populære Linux-distribusjoner , har gitt ut versjon 20.2, kallenavnet "Uma". Den leveres med nye funksjoner, oppgraderte internals og andre endringe..


Hvordan bruke fsck kommando på Linux

Linux Aug 18, 2025

Pixza Studio / Shutterstock Alle våre viktige data sitter i et filsystem av en type eller en annen, og filsystemproblemer er bundet til å skje. På Linux kan..


De beste Linux Bærbare av 2021 for utviklere og entusiaster

Linux Sep 27, 2025

Tomeqs / Shutterstock.com. Hva skal du se etter i en Linux-bærbar PC i 2021 Du kan kjøpe nesten hvilken som helst bærbar PC og installer l..


Native Gaming på Linux kan være Dying, og det er greit

Linux Sep 27, 2025

DC Studio / Shutterstock.com De Dampdekk , annonsert i august 2021, har Linux-spill sirkler som snakker om fremtiden for spill på Linux. Dekket, gj..


Ubuntu 21.10 kommer med en tilpasset GNOME 40 stasjonær

Linux Oct 14, 2025

Ubuntu. Hvis du er en Ubuntu-bruker, eller noen som tenker på å prøve, er det en god dag i dag en god dag. Kanonisk har offisielt utgitt Ubuntu 21.10 med en tilpasset ..


10 Grunnleggende Linux kommandoer for nybegynnere

Linux Oct 13, 2025

Bare å komme i gang på Linux? Å gjøre deg komfortabel med kommandolinjen er viktig. Hvis du allerede er kjent med kommandolinjeverktøy, finner du at Linux og Mac deler mye til felles,..


Hvordan liste Linux -tjenester med SystemCTL

Linux Oct 18, 2025

Linux -datamaskinen din er avhengig av mange bakgrunnsoppgaver som kalles tjenester eller demoner. På SystemD-baserte distribusjoner har du innebygde kommandoer som lar deg se hvilke tjenester..


Kategorier