Docker er en av de mest populære containerplattformene, som lar deg administrere containeriserte applikasjoner. Docker tilbyr arkitektur og muligheter for containerautomatisering, sikkerhet, tilpasning og bedriftsstøtte.
Docker har tre viktige komponenter: Docker-klienten (et kommandolinjeverktøy), Docker Host og Docker Registry. Disse tre komponentene fungerer sammen for å gjøre det mulig for deg å bygge, kjøre og lagre applikasjoner.
Finn ut hvordan du bruker dette fantastiske verktøyet ved å beholde en prøve Django-app. Lær først å installere Docker på Ubuntu, macOS og Windows.
Installer Docker på Ubuntu
Start med å installere Docker på ditt foretrukne operativsystem. Du kan følg disse merknadene for å installere Docker på Ubuntu eller bruk følgende instruksjoner for macOS eller Windows.
Installer Docker på macOS
For å installere Docker på macOS, sørg for at du har macOS 11 eller nyere. Følg deretter disse trinnene:
- Last ned Docker fra Docker hub-nettsted.
- Dobbeltklikk på Docker.dmg for å åpne installasjonsprogrammet.
- Dra Docker ikonet til Programmer-mappen.
- For å starte Docker, Dobbeltklikk på Docker.app.
- Docker-hvallogoen på statuslinjen indikerer at Docker kjører.
Du kan også installere Docker på macOS via kommandolinjen ved å følge Docker Mac-installasjon bruksanvisning.
Installer Docker på Windows
Følg disse trinnene for å installere Docker desktop på Windows OS:
- Last ned Docker fra Docker hub-nettsted.
- Dobbeltklikk på Docker Desktop Installer.exe for å kjøre installasjonsprogrammet.
- Aktiver Hyper-V Windows-funksjonen på konfigurasjonssiden når du installerer.
- Følg prosessen og tillat alle tillatelser til installasjonen er fullført.
- Etter installasjon, klikk Lukk for å fullføre prosessen.
- For å starte Docker, søk og velg Docker Desktop i skrivebordssøkeresultatene.
Alternativt kan du installere Docker på Windows OS ved å bruke en kommandolinje ved å følge Docker Windows-installasjon bruksanvisning.
Lag Django-appen
Lag en enkel Django-app. Du kan se appen når du navigerer til http://127.0.0.1:8000. Du vil beholde denne appen.
Lag en Dockerfile
For å containerisere appen, må du opprette et Docker-bilde for å bygge og kjøre containere. Et Docker-bilde er en mal med instruksjoner om hvordan du kjører containere.
Du vil bruke en Dockerfil for å lage et bilde for appen. Opprett en fil i rotmappen som heter Dockerfil. Deretter legger du til følgende instruksjoner til filen:
FRApython:3
WORKDIR /app
LEGG TIL. /app/
EXPOSER 8000
COPY requirements.txt /app
KJØR pip3 installere -r krav.txt --no-cache-dir
KOPIERE. /app
INNGANGSPUNKT["python3"]
CMD["manage.py", "runserver", "0.0.0.0:8000"]
Dockerfiler bruker unike Docker-nøkkelord for å spesifisere instruksjoner.
De FRA nøkkelord identifiserer basisbildet du vil bygge bildet med. Python-bildet fra Docker har de nødvendige komponentene for å kjøre Django-appen. Docker vil bruke det samme bildet i påfølgende bygg.
De WORKDIR nøkkelord oppretter en katalog inne i beholderen. Eksempelkommandoen identifiserer /app katalog som rotmappen.
De LEGG TIL kommandoen legger alt i gjeldende mappe til /app mappe.
De AVDEKKE nøkkelordet viser en port inne i Docker-bildet for omverdenen. Du kan se den containeriserte appen på denne porten ved hjelp av en nettleser.
De KOPIERE nøkkelord kopierer innhold fra én mappe og plasserer det i en annen. I ditt tilfelle vil den kopiere alt innholdet i appen fra gjeldende katalog. Innholdet vil gå inn i App mappe i beholderen.
De LØPE nøkkelord utfører alle kommandoer i et nytt lag av det gjeldende bildet og forplikter resultatene. Det neste trinnet i Dockerfilen vil bruke det resulterende engasjerte bildet.
De INNGANGSPUNKT nøkkelord definerer en container som en kjørbar fil. I dette tilfellet er det Python3. Du kan bruke den med eller i stedet for CMD nøkkelord. EN Dockerfil må spesifisere enten en eller begge CMD eller INNGANGSPUNKT søkeord. Docker definerer hvordan de to instruksjonene samarbeider.
De CMD nøkkelord kjører en Linux-kommando når bildet starter. Instruksjonen definerer hvilken kommando som kjøres når du kjører en container.
Bygg Docker-bildet
Nå som Dockerfil er fullført, fortsett og bygg Docker-bildet. Kjør følgende kommando for å bygge bildet:
havnearbeiderbygge--stikkorddocker-django-app:siste .
Når det begynner å bygge, vil Docker bygge bildet i lag. Lagene vil være i henhold til antall instruksjoner gitt i Dockerfil. I dette tilfellet vil du ha ni lag. Ni trinn vil representere disse lagene.
Et vellykket bygg vil se slik ut:
Nå, hvis du sjekker docker-bildene dine, bør du se det nye bildet.
Kjør Docker Container
Deretter må du kjøre bildet i beholderen. Det er her appen vil leve. Kjør følgende kommando for å kjøre bildet:
havnearbeiderløpe--Navndocker-djangoapp-s 8000:80-ddocker-django-app:siste
Den skal returnere et serienummer for beholderen slik:
Docker run-kommandoen tillater alternativer tagger for bilder. I dette tilfellet vil du bruke --Navn tag for å navngi beholderen docker-djangoapp. Kjør deretter beholderen på babord 8000:80 med -s. Deretter spesifiser bildet du vil lage beholderen. Dette er docker-django-app: siste bildet du laget tidligere.
Docker run-kommandoen oppretter et beholderlag over bildet. Deretter starter den ved å bruke den angitte kommandoen. Syntaksen for å kjøre containere er som følger:
havnearbeiderløpe[ALTERNATIVER]BILDE[KOMMANDO][ARG...]
Sjekk Docker-beholderne for å se om beholderen kjører. Når du løper docker ps Det skal se ut som følger:
Gratulerer! Du har containerisert din første app. Deretter kan du skyve beholderen til Docker-registeret for lagring. Du kan få tilgang til applikasjonen din når som helst fra hvilken som helst maskin.
Du kan også dele den med andre på nettet. Registeret tilbyr sikkerhet for bilder og tillater ekstra privilegier på private kontoer.
Hvorfor dockerisere en app?
Flere og flere utviklere bruker Docker for å optimalisere bygging og administrasjon av containere i et hvilket som helst virtuelt miljø.
Docker kommer med produktive funksjoner, inkludert en klient som utsteder byggekommandoer til Docker-demoner. Daemonen bygger bilder og kjører containere. Du kan bygge og lagre bildene i Docker-registeret. Dette sikrer at bildene er sikre og tilgjengelige på nettet.
Docker tilbyr allerede konfigurerte offisielle bilder som har ferdige komponenter. Du kan bruke disse bildene til å bygge beholdere for applikasjonene dine raskt.