Docker voor beginners: Alles wat u moet weten

Jun 15, 2025
Linux

Docker Maakt verpakte toepassingen Containers genoemd. Elke container biedt een geïsoleerde omgeving vergelijkbaar met een virtuele machine (Vm). In tegenstelling tot VMS, Docker Containers Voer geen volledig besturingssysteem uit . Ze delen de kernel van uw gastheer en virtualiseren op een softwareliveau.

Docker Basics

Docker is een standaard tool geworden voor softwareontwikkelaars en systeembeheerders. Het is een nette manier om snel applicaties te lanceren zonder de rest van uw systeem te impact. Je kunt een nieuwe service met een single draaien Docker Run opdracht.

Containers inkapselen alles wat nodig is om een ​​applicatie uit te voeren, uit OS-pakketafhankelijkheden naar uw eigen broncode. U definieert de creatiestappen van een container als instructies in een Dockerfile . Docker gebruikt de Dockerfile om een ​​te bouwen afbeelding .

Afbeeldingen definiëren de beschikbare software in containers. Dit is losjes gelijk aan het starten van een VM met een besturingssysteem ISO. Als u een afbeelding maakt, kan elke Docker-gebruiker uw app met lanceren Docker Run .

Hoe werkt Docker?

Containers maken gebruik van besturingssysteem Kernel-functies om gedeeltelijk gevirtualiseerde omgevingen te bieden. Het is mogelijk om containers helemaal opnieuw te maken met opdrachten zoals chroot . Dit start een proces met een opgegeven root-map in plaats van de systeemwortel. Maar het gebruik van de kernel-functies direct, onveilig, onzeker en foutgevoelig.

Docker is een complete oplossing voor de productie, distributie en het gebruik van containers. Moderne docker-releases bestaan ​​uit verschillende onafhankelijke componenten . Ten eerste is er de Docker Cli , waarmee u in uw terminal communiceert. De CLI verzendt opdrachten naar een Docker daemon . Dit kan lokaal of op een externe host . De daemon is verantwoordelijk voor het beheren van containers en de afbeeldingen waaruit ze zijn gemaakt.

De laatste component wordt de containerruntime . De runtime roept kernel-functies aan om containers daadwerkelijk te lanceren. Docker is compatibel met rundament die zich aan de OCI-specificatie. Deze open standaard maakt interoperabiliteit mogelijk tussen verschillende containeringshulpmiddelen.

Je hoeft je geen zorgen te maken over de innerlijke werking van Docker als je voor het eerst aan de slag bent. Installeren docker Op uw systeem geeft u alles wat u nodig hebt om containers te bouwen en uit te voeren.

Waarom gebruiken zoveel mensen Docker?

Containers zijn zo populair geworden omdat ze veel gemeenschappelijke uitdagingen in softwareontwikkeling oplossen. Het vermogen om een ​​keer op te zetten en overal te rennen Vermindert de kloof tussen Uw ontwikkelingsomgeving en uw productieservers.

Het gebruik van containers geeft je vertrouwen dat elke omgeving identiek is. Als je een nieuw teamlid hebt, hoeft ze alleen maar Docker Run om hun eigen ontwikkelingsinstantie op te zetten. Wanneer u uw service start, kunt u uw Docker-afbeelding gebruiken om te implementeren op de productie. De liveomgeving Past precies overeen met uw lokale exemplaar, vermijden "het werkt op mijn machine" -scenario's.

Docker is handiger dan een volledig-geblazen virtuele machine. VMS zijn hulpmiddelen voor algemene doeleinden die zijn ontworpen om elke mogelijke werklast te ondersteunen. Daarentegen zijn containers lichtgewicht, zelfvoorzienend, en beter geschikt voor weggeleisende gevallen. Aangezien Docker de kernel van de gastheer deelt, hebben containers een verwaarloosbare impact op de systeemprestaties. Containerlancetijd is bijna onmiddellijk, omdat u alleen maar uitgangsprocessen bent, geen volledig besturingssysteem.

Beginnen

Docker is beschikbaar op alle populaire Linux-distributies. Het draait ook op Windows en MacOS. Volg de Docker-installatie-instructies voor uw platform om het op te nemen.

U kunt controleren of uw installatie werkt door een eenvoudige container te starten:

 Docker Run Hello-World 

Dit start een nieuwe container met de basis Hallo Wereld afbeelding. Het beeld geeft wat uitgang uit die uitleggen hoe hij Docker moet gebruiken. De container verlaat en laat u terugvallen naar uw terminal.

Afbeeldingen maken

Zodra je hebt uitgevoerd Hallo Wereld , je bent klaar om je eigen Docker-afbeeldingen te maken. Een Dockerfile beschrijft hoe u uw service kunt uitvoeren door Vereiste software installeren en kopiëren in bestanden. Hier is een eenvoudig voorbeeld met behulp van de Apache-webserver:

 Van HTTPD: Laatste
RUN ECHO "LOADMODULE KOPERS_Module Modules / MOD_HEARERS.SO" & GT; & GT; /Usr/local/apache2/conf/httpd.conf
Kopieer .htaccess /var/www/html/.htaccess
Kopieer index.html /var/www/html/index.html
Kopieer CSS / / VAR / WWW / HTML / CSS 

De VAN lijn definieert het basisafbeelding. In dit geval beginnen we vanaf het officiële Apache-beeld. Docker past de resterende instructies in uw Dockerfile bovenop het basisafbeelding toe.

De LOOP Stage loopt een opdracht binnen de container. Dit kan elk opdracht beschikbaar zijn in de omgeving van de container. We gaan het headers Apache-module, die kan worden gebruikt door de .htaccess Bestand om routeringsregels in te stellen.

De definitieve regels kopiëren de HTML- en CSS-bestanden in uw werkdirectory in de containerafbeelding. Uw afbeelding bevat nu alles wat u nodig hebt om uw website uit te voeren.

Nu kunt u de afbeelding bouwen:

 Docker Build -t My-website: v1. 

Docker gebruikt uw Dockerfile om het beeld te construeren. U ziet de uitvoer in uw terminal omdat Docker elk van uw instructies uitvoert.

De -t in het commando Tags uw afbeelding met een bepaalde naam ( My-website: v1 ). Dit maakt het gemakkelijker om in de toekomst te verwijzen. Tags hebben twee componenten, gescheiden door een dikke darm. Het eerste deel stelt de beeldnaam in, terwijl de tweede meestal de versie aanduidt. Als u de dubbele punt weglaat, wordt Docker standaard om te gebruiken laatste als de tag-versie.

De . Aan het einde van de opdracht vertelt Docker om de Dockerfile in uw lokale werkdirectory te gebruiken. Dit ook Stelt de build context in , zodat u bestanden en mappen in uw werkdirectory kunt gebruiken KOPIËREN Instructies in uw Dockerfile.

Zodra u uw afbeelding hebt gemaakt, kunt u een container starten met Docker Run :

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

We gebruiken een paar extra vlaggen met Docker Run hier. De -NS De vlag maakt de Docker CLI los van de container, waardoor het op de achtergrond kan worden uitgevoerd. Er is een poortmapping gedefinieerd met -P , dus poort 8080 op uw hostkaarten naar poort 80 in de container. U moet uw webpagina zien als u bezoekt localhost: 8080 in uw browser.

Docker-afbeeldingen worden gevormd uit lagen. Elke instructie in uw Dockerfile creëert een nieuwe laag. U kunt geavanceerde bouwfuncties gebruiken voor referentie meerdere basisafbeeldingen , het weggooien van intermediaire lagen uit eerdere afbeeldingen.

Beeldregisters

Zodra u een afbeelding hebt, kunt u het naar een register duwen. Registers Geef gecentraliseerde opslag zodat u containers met anderen kunt delen. Het standaardregister is Docker Hub .

Wanneer u een opdracht uitvoert die verwijst naar een afbeelding, controleert Docker eerst of deze lokaal beschikbaar is. Als dat niet het geval is, zal het proberen om het vanuit Docker Hub te trekken. Je kunt handmatig afbeeldingen met de Docker Trek opdracht:

 Docker Trek HTTPD: Laatste 

Als u een afbeelding wilt publiceren, maakt u een Docker Hub rekening. Loop Docker Login en voer uw gebruikersnaam en wachtwoord in.

Tag vervolgens uw afbeelding met uw Docker Hub-gebruikersnaam:

 Docker Tag My-Image: Nieuwste Docker-Hub-gebruikersnaam / My-Image: Laatste 

Nu kunt u uw afbeelding drukken:

 Docker Push Docker-Hub-Gebruikersnaam / My-Image: Laatste 

Andere gebruikers kunnen uw beeld trekken en containers beginnen.

Jij kan Voer je eigen register uit Als u privé-beeldopslag nodig heeft. Verschillende diensten van derden ook bied Docker-registers als alternatieven voor havennaaf.

Beheer van uw containers

De Docker CLI heeft verschillende opdrachten om u uw lopende containers te laten beheren. Hier zijn enkele van de meest bruikbare om te weten:

Containers met containers

Docker PS Toont u al uw lopende containers. Het toevoegen van de -een De vlag toont ook gestopte containers.

Containers stoppen en starten

Om een ​​container te stoppen, ren Docker Stop My-Container . Vervangen mijncontainer met de naam of ID van de container. U kunt deze informatie krijgen van de ps opdracht. Een gestopte container wordt opnieuw opgestart Docker Start My-Container .

Containers worden meestal uitgevoerd zolang hun hoofdproces in leven blijft. Start beleid opnieuw Bedien wat er gebeurt wanneer een container stopt of uw host opnieuw starten. Doorgang --Estart altijd tot Docker Run om een ​​container opnieuw te starten onmiddellijk nadat het stopt.

Een schaal krijgen

Jij kan voer een opdracht uit een container met behulp van Docker Exec My-Container My-Command . Dit is handig wanneer u handmatig een uitvoerbaar bestand wilt oproepen dat gescheiden is aan het hoofdproces van de container.

Voeg de -het vlag als u interactieve toegang nodig heeft. Hiermee kunt u in een schaal vallen door te rennen Docker Exec -Ihit My-Container Sh .

Monitoring logs

Docker verzamelt automatisch de uitgang die is uitgezonden op de standaardinvoer- en uitvoerstromen van een container. De Docker Logt My-Container opdracht toont de logboeken van een container in uw terminal. De --volgen Flag stelt een continue stroom op zodat u logs in realtime kunt bekijken.

Bronnen opruimen

Oude containers en afbeeldingen kunnen snel op uw systeem stapelen. Gebruik maken van Docker RM My-Container om een ​​container te verwijderen door zijn ID of naam.

Het commando voor afbeeldingen is Docker RMI My-Image: Laatste . Geef de ID of de naam van het beeld of de naam van de volledige tag door. Als u een tag opgeeft, wordt de afbeelding niet verwijderd totdat deze niet meer tags heeft toegewezen. Anders wordt de gegeven tag verwijderd, maar de andere tags van het beeld blijven bruikbaar.

Bulk clean-ups zijn mogelijk met behulp van de docker snoei opdracht . Dit geeft u een eenvoudige manier om alle gestopte containers en overtollige afbeeldingen te verwijderen.

Grafisch beheer

Als de terminal niet jouw ding is, kun je hulpmiddelen van derden gebruiken om Stel een grafische interface in voor Docker . Web Dashboards Laat u snel controleren en uw installatie beheren. Ze helpen u ook bij het nemen van afstandsbediening van uw containers.

Aanhoudende gegevensopslag

Docker-containers zijn standaard ephemeral. Wijzigingen die zijn aangebracht in het bestandssysteem van een container zullen niet aanhouden nadat de container stopt. Het is niet veilig voor Voer elke vorm van bestandsopslagsysteem uit In een container begon met een basis Docker Run opdracht.

Er zijn een paar verschillende benaderingen Persistente gegevens beheren . De meest gebruikelijke is om een ​​dockervolume te gebruiken. Volumes zijn opslageenheden die zijn gemonteerd in containerbestandssystemen. Alle gegevens in een volume blijven intact nadat de gekoppelde container stopt, zodat u in de toekomst een andere container kunt verbinden.

Beveiliging onderhouden

Dockerized Workloads kunnen veiliger zijn dan hun naakte metalen tegenhangers, omdat Docker een scheiding biedt tussen het besturingssysteem en uw diensten. Niettemin is Docker een potentiële beveiligingsprobleem, zoals het normaal werkt als wortel en kan worden uitgebuit om kwaadwillende software uit te voeren.

Als u alleen docker als ontwikkelingstool uitvoert, is de standaardinstallatie over het algemeen veilig om te gebruiken. Productieservers en -machines met een netwerk-blootgestelde daemon-socket moeten worden verhard voordat u live gaat.

Audit Uw Docker-installatie Om potentiële beveiligingsproblemen te identificeren. Er zijn Geautomatiseerde hulpmiddelen beschikbaar die kunnen helpen bij het vinden zwakheden en suggereren resoluties. Je kan ook scan afzonderlijke container afbeeldingen voor problemen die zouden kunnen worden benut van binnenuit.

Werken met meerdere containers

De docker commando werkt alleen met één container tegelijk. Je zult vaak wilt containers te gebruiken in totaal. Docker Compose is een tool waarmee u uw containers definiëren declaratief in een YAML bestand. U kunt ze beginnen allemaal met één enkel commando.

Dit is handig wanneer uw project is afhankelijk van andere diensten, zoals een web backend die is gebaseerd op een database server. U kunt beide containers definiëren in uw havenarbeider-compose.yml en profiteren van gestroomlijnd beheer met automatische netwerken .

Hier is een eenvoudig havenarbeider-compose.yml het dossier:

 versie: "3"
Diensten:
  app:
    image: app-server: latest
    poorten:
      - 8000: 80
  database:
    image: de database-server: latest
    volumes:
        - de database-gegevens: / data
volumes:
    databank-gegevens: 

Dit definieert twee containers ( app en database ). Een volume gecreëerd voor de database. Dit wordt bevestigd aan /gegevens in de houder. De haven van de app server 80 wordt ontmaskerd als 8000 op de host. Loop havenarbeider-componeren up -d begint te draaien beide diensten, met inbegrip van het netwerk en volume.

Het gebruik van Docker Compose kunt u write herbruikbare container definities die je kunt delen met anderen. Je zou het plegen van een havenarbeider-compose.yml in uw versie controle in plaats van ontwikkelaars memoriseren Docker Run opdrachten.

Er zijn andere manieren om het uitvoeren van meerdere containers, ook. Docker App is een nieuwe oplossing die een ander niveau van abstractie biedt. Elders in het ecosysteem, Podman is een Docker alternatief waarmee je “pods” van containers binnen uw terminal te creëren.

container Orchestration

Docker verloopt niet normaal zoals het hoort in de productie. Het is nu meer gebruikelijk om een ​​orkestratie platform te gebruiken, zoals Kubernetes of Docker Swarm modus. Deze tools zijn ontworpen voor het hanteren meerdere container replica, die verbetert schaalbaarheid en betrouwbaarheid.

Docker slechts één component in de bredere containerisering beweging. orchestrators gebruik van dezelfde container runtime technologieën om een ​​omgeving die een betere pasvorm voor de productie. Meerdere container exemplaren zorgt voor een rollende updates evenals verdeling over machines, het maken van uw implementatie beter bestand zijn tegen verandering en uitval. de reguliere docker CLI is gericht op één gastheer en werkt met afzonderlijke houders.

Een krachtig platform voor Containers

Docker geeft je alles wat je nodig hebt om te werken met containers. Het is uitgegroeid tot een belangrijk instrument voor de ontwikkeling van software en systeembeheer. De belangrijkste voordelen zijn toegenomen isolatie en draagbaarheid voor individuele diensten.

Kennismaking met Docker vereist een goed begrip van de basis-container en het beeld concepten. U kunt passen deze aan uw gespecialiseerde foto's en omgevingen die je workloads containerize creëren.


Linux - Meest populaire artikelen

Linux-servers beheren met de Cockpit-webinterface

Linux Dec 9, 2024

Fatmawati achmad zaenuri / shutterstock U kunt eenvoudig meerdere Linux-computers controleren en beheren met cockpit, een op browser gebaseerde administratie e..


Hoe te gebruiken Restricted Shell te beperken wat een Linux gebruiker kan doen

Linux Mar 25, 2025

Fatmawati achmad zaenuri / shutterstock Een beperkte shell beperkt wat een gebruikersaccount kan doen op Linux. Een beperkte gebruiker kan hun map niet wijzi..


Hoe te gebruiken Brace Expansion in Linux Bash Shell

Linux May 12, 2025

Fatmawati achmad zaenuri / shutterstock Brace-expansie is een nuttige techniek om lijsten van snaren te genereren die kunnen worden gebruikt in scripts en alia..


Dit New Linux Gaming Laptop Heeft de Specs Run Anything

Linux Oct 20, 2025

JUNO COMPUTERS Linux en gaming beginnen de laatste tijd veel meer samen te komen. De Stoomdek Is onderweg met Linux geïnstalleerd en Juno heeft net aangekon..


Hoe de PID van een Linux -proces te vinden met PIDOF of PGREP

Linux Nov 15, 2024

Werken met een Linux -proces betekent vaak het kennen van de proces -ID of PID. Het is een uniek nummer dat wordt gegeven aan elk stukje lopende software. Hier zijn twee manieren om erachter te..


5 Ubuntu Linux -functies die u zou moeten gebruiken

Linux Dec 6, 2024

Ubuntu Linux is functie rijk en wordt geleverd met een samengestelde selectie vooraf geïnstalleerde software. Graaf echter een beetje dieper en je zult enkele functies vinden die je zou moeten..


Hoe om te gaan met spaties in bestandsnamen op Linux

Linux Dec 14, 2024

Zoals de meeste besturingssystemen ondersteunt Linux bestandsnamen met spaties erin. Maar het gebruik van deze bestandsnamen op de opdrachtregel is niet altijd eenvoudig. Hier zijn verschillend..


7 fouten nieuwe Linux -gebruikers maken (en hoe ze ze te vermijden)

Linux Nov 11, 2024

Het leren van Linux kan een frustrerende ervaring zijn waarbij alles wat klein is als een gevecht. Het vermijden van deze veel voorkomende fouten maakt uw introductie en acceptatie van Linux ve..


Categorieën