Om du funderar på att köra dina webbappar i Docker-containrar eller om du redan har anpassat dig till tekniken än du borde ta hand om en av de viktigaste aspekterna, vilket är hur mycket av värdens resurser dina containrar använder.


Som standard finns det ingen gräns för hur mycket minne eller CPU en behållare kan använda. Den kan använda så mycket som värdens kärnplanerare tillåter. Det är viktigt att en körbehållare inte får konsumera för mycket av värdmaskinens minne eller CPU. Om kärnan upptäcker att det finns en mycket liten mängd ledigt minne kvar kastar det en Undantag från minne och börjar döda processer och detta kan leda till att hela systemet stängs av i vissa fall.

För att undvika dessa omständigheter bör du alltid köra tester på din ansökan och ta reda på hur mycket resurser som krävs och sedan begränsa behållarna till att använda en tillräcklig mängd resurser.

Konfigurera Ubuntu 18.04 för att använda Dockers funktion för begränsande resurser

Så låt oss komma igång. Först och främst bör du kontrollera att om din kärna tillåter dessa funktioner. För det måste du köra följande kommando.

$ sudo dockerinfo

Om du ser följande varning i slutet av utgången måste du göra några ändringar i systemfilerna.

VARNING: Noswaplimitsupport

Följ i så fall stegen nedan på ubuntu 18.04

  1. Logga in i Ubuntu värd som en användare med sudo privilegier.
  1. Redigera / Etc / default / grub arkivera och lägg till följande rad i den.

GRUB_CMDLINE_LINUX ="cgroup_enable = minne swapaccount = 1"

  1. Spara och stäng filen efter att ha lagt till ovanstående rad. Du kommer också att behöva uppdatera GRUB med följande kommando.

$ sudo update-grub

Ändringar träder i kraft när systemet startas om. Bekräfta att ändringarna har trätt i kraft genom att köra följande kommando igen

$ sudo dockerinfo

Om du inte ser varningen igen, är du bra att gå.

Nu finns det två typer av stora resurser som vi måste ta hand om.

  1. Minne
  2. CPU

Begränsa en behållares minneåtkomst

När du startar en container med dockarkörning kommando kan vi ange olika alternativ. Följande är exemplen.

För att begränsa behållarens användning av minnesanvändning –minne alternativ. Det tar ett positivt heltal följt av ett s-suffix b, k, m, g. Med följande kommando körs en Ubuntu-behållare med begränsningen att inte använda mer än 1 gigabyte minne.

$ sudo docker run -it –memory = ”1g” ubuntu / bin / bash

För att begränsa en behållares användning av minnesbyte till diskanvändning –minne-swap alternativ. Det tar också ett positivt heltal följt av ett s-suffix b, k, m, g. I följande fall får behållaren användas

1 gigabyte minne som inte växlar och 1 GB byte minne. Den totala mängden växlingsminne som tillåts en behållare är skillnaden mellan – minne-byte och – minne (2 g – 1 g). Om du inte vill att din behållare ska använda swapminnet, ställ in både –memory och –memory-swap till lika värden.

$ sudo docker run -it –memory = ”1g” – memory-swap = ”2g” ubuntu / bin / bash

Om dockaren upptäcker lågt minne på värdmaskinen och du har ställt in –minne-reservation, dess värde kommer att ha företräde –minne. Men om du inte har ställt in –minne än det begränsar inte behållarens minnesanvändning. Det träder i kraft endast när lågt minne upptäcks. Det är en slags mjuk begränsning.

$ sudo docker run -it –memory = ”1g” – memory-reservation = ”512m” ubuntu / bin / bash

Begränsa en behållares CPU-användning

För att begränsa användarens CPU-tid –processorer alternativ. Att ställa in det lika med “.5” betyder 50000 mikrosekunder CPU-tid.

$ sudo docker run -it –cpus =".5" ubuntu / bin / bash

Använd för att begränsa en behållares CPU-aktier –Processorer-aktier alternativ. Som standard är det 1024. Öka eller minska den så att en behållare kan använda större eller mindre del av värdmaskinens CPU-cykler. Detta är användbart när CPU-cykler begränsas av värdmaskinen, annars kan behållare använda så många CPU-cykler som de behöver. Detta är också en slags mjuk gräns.

$ sudo docker run -it –cpus-share ="512" ubuntu / bin / bash

Slutsats

Att begränsa behållarens resurser är mycket beroende av värdmaskinens kärnkonfiguration. Även om det är mycket viktigt att känna till behållarens krav och begränsa dem i enlighet därmed bör du också känna till värdmaskinens miljö som i detta fall är ubuntu 18.04. Utför alltid flera tester på dina appar för att få en bra uppfattning om resursbehov. Att använda resurser noggrant kan spara en hel del kostnader.

Du kan se statistik för dina dockercontainrar i körläge genom att köra dockningsstatistik kommando genom att ange behållarens namn eller namn och verifiera de gränser och konfigurationer som du ålade.

$ sudo docker statistik ubuntu

Kolla in de tre bästa Bästa webbhotelltjänsterna

FastComet

Startpris:
$ 2.95


Pålitlighet
9,7


Prissättning
9,5


Användarvänlig
9,7


Stöd
9,7


Funktioner
9,6

Läs recensioner

Besök FastComet

A2 Hosting

Startpris:
$ 3,92


Pålitlighet
9,3


Prissättning
9,0


Användarvänlig
9,3


Stöd
9,3


Funktioner
9,3

Läs recensioner

Besök A2 Hosting

ChemiCloud

Startpris:
$ 2.76


Pålitlighet
10


Prissättning
9,9


Användarvänlig
9,9


Stöd
10


Funktioner
9,9

Läs recensioner

Besök ChemiCloud

Relaterade artiklar om hur man gör

  • Hur man använder dockningsbehållare med AWS EC2
    expert-
  • Hur man distribuerar dockningsbehållare med OpenStack Heat
    expert-
  • Så här ställer du in en Docker Swarm Cluster på Ubuntu 16.04 VPS eller dedikerad server
    expert-
  • Hur man använder dockningsbehållare med AWS EC2
    expert-
  • Hur man använder dockningsbehållare med AWS EC2
    expert-
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me