Hvis du overvejer at køre dine webapps inde i Docker-containere, eller du allerede har tilpasset dig teknologien, end du skal tage sig af et af de vigtigste aspekter, hvilket er hvor meget af værtens ressourcer dine containere bruger.


Som standard er der ingen grænser for, hvor meget hukommelse eller CPU en container kan bruge. Det kan bruge så meget, som værtens kerneplanlægning tillader. Det er vigtigt, at en kørende container ikke får lov til at forbruge for meget af værtsmaskinens hukommelse eller CPU. Hvis kernen registrerer, at der er en meget lav mængde ledig hukommelse tilbage, kaster den en Uden undtagelse af hukommelse og starter drabsprocesser, og dette kan resultere i nedlukning af hele systemet i nogle tilfælde.

For at undgå disse omstændigheder skal du altid køre test på din ansøgning og finde ud af, hvor mange ressourcer der kræves, og derefter begrænse containerne til at bruge en passende mængde ressourcer.

Konfiguration af Ubuntu 18.04 til at bruge Dockers funktion til begrænsende ressourcer

Så lad os komme i gang. Først og fremmest skal du kontrollere, at hvis din kerne tillader disse funktioner. Til det skal du køre følgende kommando.

$ sudo dockerinfo

Hvis du ser følgende advarsel i slutningen af ​​output, skal du foretage nogle ændringer i systemfiler.

ADVARSEL: Noswaplimitsupport

I dette tilfælde skal du følge nedenstående trin i ubuntu 18.04

  1. Log ind i Ubuntu-vært som bruger med sudo-privilegier.
  1. Rediger / Etc / default / grub arkiver og tilføj følgende linje i den.

GRUB_CMDLINE_LINUX ="cgroup_enable = hukommelse swapaccount = 1"

  1. Gem og luk filen efter tilføjelse af ovenstående linje. Du skal også opdatere GRUB med følgende kommando.

$ sudo-opdatering-grub

Ændringer træder i kraft, når systemet genstartes. Bekræft, at ændringerne er trådt i kraft ved igen at køre følgende kommando

$ sudo dockerinfo

Hvis du ikke ser advarslen igen, er du god til at gå.

Nu er der to typer af store ressourcer, vi skal tage os af.

  1. Hukommelse
  2. CPU

Begrænsning af en containers hukommelsesadgang

Mens du starter en container med docker køre kommando kan vi specificere forskellige indstillinger. Følgende er eksemplerne.

For at begrænse en containers brug af hukommelsesbrug –hukommelse mulighed. Det tager et positivt heltal efterfulgt af et s-suffiks b, k, m, g. Med følgende kommando kører en Ubuntu-container med begrænsningen af ​​at bruge ikke mere end 1 gigabyte hukommelse.

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

For at begrænse en containers brug af hukommelsesbytte til diskbrug –hukommelse-swap mulighed. Det tager også et positivt heltal efterfulgt af et s-suffiks b, k, m, g. I det følgende tilfælde er beholderen tilladt at bruge

1 gigabyte hukommelse uden swap og 1 gigabyte byttehukommelse. Den samlede mængde af swap-hukommelse, der er tilladt til en container, er forskellen mellem – memory-swap og – memory (2g – 1g). Hvis du ikke ønsker, at din container skal bruge swap-hukommelse, skal du indstille både – memory og – memory-swap til lige værdier.

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

I tilfælde af at docker registrerer lav hukommelse på værtsmaskinen, og du har indstillet –hukommelse-reservation, dens værdi får forrang –hukommelse. Men hvis du ikke har indstillet –hukommelse end det ikke begrænser beholderens hukommelsesbrug. Det træder kun i kraft, når der registreres lav hukommelse. Det er en slags blød begrænsning.

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

Begrænsning af en CPU-anvendelse

For at begrænse en containers CPU-brugstid –cPU’er mulighed. At indstille det lig med “.5” betyder 50000 mikrosekunder CPU-tid.

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

Brug for at begrænse en containers CPU-aktier –CPU’er-aktier mulighed. Som standard er det 1024. Forøg eller formindsk det for at give en container mulighed for at bruge større eller mindre del af værtsmaskinens CPU-cyklusser. Dette er nyttigt, når CPU-cyklusser er begrænset af værtsmaskinen, ellers kan containere bruge så mange CPU-cyklusser, som de har brug for. Dette er også en slags blød grænse.

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

Konklusion

Begrænsning af en containers ressourcer afhænger meget af værtsmaskinens kernekonfiguration. Selvom det er meget vigtigt at kende beholderens krav og begrænse dem i overensstemmelse hermed, skal du også være bekendt med værtsmaskinens miljø, som i dette tilfælde er ubuntu 18.04. Udfør altid flere test på dine apps for at få en god idé om ressourcebehov. Brug af ressourcer omhyggeligt kan spare en masse omkostninger.

Du kan se statistikker for dine dockercontainere i kørselstilstand ved at udføre docker statistik kommando ved at specificere containernavn eller -navne og verificere de grænser og konfigurationer, du har pålagt.

$ sudo docker statistikker ubuntu

Tjek disse top 3 bedste webhostetjenester

FastComet

Startpris:
$ 2,95


Pålidelighed
9.7


Prisfastsættelse
9.5


Brugervenlig
9.7


Support
9.7


Funktioner
9.6

Læs anmeldelser

Besøg FastComet

A2 Hosting

Startpris:
$ 3,92


Pålidelighed
9.3


Prisfastsættelse
9,0


Brugervenlig
9.3


Support
9.3


Funktioner
9.3

Læs anmeldelser

Besøg A2 Hosting

ChemiCloud

Startpris:
$ 2,76


Pålidelighed
10


Prisfastsættelse
9.9


Brugervenlig
9.9


Support
10


Funktioner
9.9

Læs anmeldelser

Besøg ChemiCloud

Relaterede artikler om, hvordan man gør

  • Sådan bruges Docker-containere med AWS EC2
    ekspert
  • Sådan implementeres Docker-containere med OpenStack Heat
    ekspert
  • Sådan installeres en Docker Swarm Cluster på Ubuntu 16.04 VPS eller en dedikeret server
    ekspert
  • Sådan bruges Docker-containere med AWS EC2
    ekspert
  • Sådan bruges Docker-containere med AWS EC2
    ekspert
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me