Hur man dockeriserar en Django-app

Hur man dockeriserar en Django-app
Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

Docker är en av de mest populära containerplattformarna, som låter dig hantera containeriserade applikationer. Docker tillhandahåller arkitektur och funktioner för containerautomation, säkerhet, anpassning och företagssupport.





Docker har tre viktiga komponenter: Docker-klienten (ett kommandoradsverktyg), Docker Host och Docker Registry. Dessa tre komponenter samverkar för att du ska kunna bygga, köra och lagra applikationer.





MAKEUSE AV DAGENS VIDEO

Ta reda på hur du använder det här fantastiska verktyget genom att behålla en Django-app. Lär dig först att installera Docker på Ubuntu, macOS och Windows.





Installera Docker på Ubuntu

Börja med att installera Docker på ditt föredragna operativsystem. Du kan följ dessa anteckningar för att installera Docker på Ubuntu eller använd följande instruktioner för macOS eller Windows.

Installera Docker på macOS

För att installera Docker på macOS, se till att du har macOS 11 eller högre. Följ sedan dessa steg:



  1. Ladda ner Docker från Docker hub webbplats .
  2. Dubbelklicka på Docker.dmg för att öppna installationsprogrammet.
  3. Dra Hamnarbetare ikonen till mappen Program.
  4. För att starta Docker, dubbelklicka docker.app .
  5. Docker-vallogotypen på statusfältet indikerar att Docker är igång.

Du kan också installera Docker på macOS via kommandoraden genom att följa Docker Mac-installation instruktioner.

Installera Docker på Windows

Följ följande steg för att installera Docker desktop på Windows OS:





  1. Ladda ner Docker från Docker hub webbplats .
  2. Dubbelklicka på Docker Desktop Installer.exe för att köra installationsprogrammet.
  3. Aktivera Hyper-V Windows-funktionen på konfigurationssidan när du installerar.
  4. Följ processen och tillåt alla behörigheter tills installationen är klar.
  5. Klicka på efter installationen för att slutföra processen.
  6. För att starta Docker, sök och välj Docker Desktop i ditt skrivbordssökresultat.

Alternativt kan du installera Docker på Windows OS med hjälp av en kommandorad genom att följa Docker Windows-installation instruktioner.

Skapa Django-appen

Skapa en enkel Django-app . Du kan se appen när du navigerar till http://127.0.0.1:8000. You will containerize this app.





  App på webbläsare med Hello docker H1

Skapa en dockerfil

För att containerisera appen måste du skapa en Docker-bild för att bygga och köra containrar. En Docker-bild är en mall med instruktioner om hur man kör behållare.

Du kommer att använda en Dockerfil för att skapa en bild för appen. Skapa en fil i rotmappen som heter Dockerfil. Lägg sedan till följande instruktioner till filen:

 FROM python:3 

WORKDIR /app

ADD . /app/

EXPOSE 8000

COPY requirements.txt /app

RUN pip3 install -r requirements.txt --no-cache-dir

COPY . /app

ENTRYPOINT ["python3"]

CMD ["manage.py", "runserver", "0.0.0.0:8000"]

Dockerfiler använder unika Docker-nyckelord för att ange instruktioner.

De FRÅN nyckelordet identifierar basbilden du vill bygga bilden med. Python-bilden från Docker har de nödvändiga komponenterna för att köra Django-appen. Docker kommer att använda samma bild i efterföljande builds.

De WORKDIR nyckelord skapar en katalog inuti behållaren. Exempelkommandot identifierar /app katalog som rotmapp.

De LÄGG TILL kommandot lägger till allt i den aktuella mappen i /app mapp.

De ÖVERSIKT nyckelordet exponerar en port inuti Docker-bilden för omvärlden. Du kan se den containeriserade appen på den här porten med en webbläsare.

De KOPIERA nyckelord kopierar innehåll från en mapp och placerar det i en annan. I ditt fall kommer den att kopiera allt innehåll i appen från den aktuella katalogen. Innehållet kommer att gå in i App mapp i behållaren.

De SPRINGA nyckelordet utför alla kommandon i ett nytt lager av den aktuella bilden och befäster resultaten. Nästa steg i Dockerfilen kommer att använda den resulterande engagerade bilden.

De INKÖRSPORT nyckelordet definierar en behållare som en körbar fil. I det här fallet är det Python3. Du kan använda den med eller i stället för CMD nyckelord. A Dockerfil måste ange antingen en eller båda CMD eller INKÖRSPORT nyckelord. Docker definierar hur de två instruktionerna samverkar.

De CMD nyckelordet kör ett Linux-kommando när bilden startar. Instruktionen definierar vilket kommando som körs när du kör en container.

Bygg Docker-bilden

Nu när Dockerfil är klar, fortsätt och bygg Docker-bilden. Kör följande kommando för att bygga bilden:

 docker build --tag docker-django-app:latest .

När den börjar bygga kommer Docker att bygga bilden i lager. Lagren kommer att vara enligt antalet instruktioner som ges i Dockerfil . I det här fallet kommer du att ha nio lager. Nio steg kommer att representera dessa lager.

En framgångsrik konstruktion kommer att se ut så här:

  docker har lyckats bygga en bild

Om du nu kontrollerar dina docker-bilder bör du se den nya bilden.

  nybyggd bild på docker

Kör Docker Container

Därefter måste du köra bilden i behållaren. Det är här appen kommer att leva. Kör följande kommando för att köra bilden:

 docker run --name docker-djangoapp -p 8000:80 -d docker-django-app:latest

Det bör returnera ett serienummer för behållaren så här:

hur man gör en php -webbplats
  ny containeriserad app

Docker run-kommandot tillåter alternativ taggar för bilder. I det här fallet vill du använda --namn taggen för att namnge behållaren docker-djangoapp . Kör sedan behållaren i hamn 8000:80 med -s . Ange sedan bilden du vill skapa behållaren. Det här är docker-django-app: senaste bild du skapade tidigare.

Docker run-kommandot skapar ett behållarlager över bilden. Det startar sedan med det angivna kommandot. Syntaxen för att köra behållare är följande:

 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Kontrollera Docker-behållarna för att se om behållaren körs. När du springer hamnare ps Det ska se ut så här:

  Ny container körs i docker

Grattis! Du har containeriserat din första app. Därefter kan du skjuta behållaren till Docker-registret för lagring. Du kan komma åt din applikation när du vill från vilken maskin som helst.

Du kan också dela den med andra online. Registret erbjuder säkerhet för bilder och tillåter extra privilegier på privata konton.

Varför dockerisera en app?

Fler och fler utvecklare använder Docker för att optimera byggandet och hanteringen av containrar i vilken virtuell miljö som helst.

Docker kommer med produktiva funktioner, inklusive en klient som utfärdar byggkommandon till Docker-demoner. Demonen bygger bilder och kör behållare. Du kan bygga och lagra bilderna i Docker-registret. Detta säkerställer att bilderna är säkra och tillgängliga online.

Docker erbjuder redan konfigurerade officiella bilder som har färdiga komponenter. Du kan använda dessa bilder för att snabbt bygga behållare för dina applikationer.