VirtulBox : 6.1 OS hôte: Ubuntu 18.04 Docer : docker-ce 19.03.13
$ sudo docker run -itd --privileged --name PROCESS_NAME IMAGE_NAME /sbin/init
$ sudo docker run -itd --privileged -p 8080:80 --name PROCESS_NAME IMAGE_NAME /sbin/init
↑ Lors de la spécification du port, cela ressemble à ceci
$ sudo docker stats centos8
$ sudo docker stats centos8 --no-stream
J'ai trébuché de différentes manières, mais j'ai réussi en faisant ce qui suit.
$ sudo docker update -m 1G --memory-swap -1 CONTAINER_ID
Au début, j'ai exécuté la commande suivante, mais une erreur s'est produite.
$ sudo docker update -m 1G CONTAINER_ID
Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
Résolu en modifiant le paramètre d'échange de grub.
$ sudo vi /etc/default/grub
$ sudo update-grub
grub.Mettez à jour cfg et redémarrez le système d'exploitation hôte.
Lorsque je l'ai réexécuté après le redémarrage, l'erreur suivante s'est produite.
$ docker update -m 1G 917f3986a06b
Error response from daemon: Cannot update container 917f3986a06bb9f99b095af4f3e5334ce125f596f9926db2733bdb4d20868b47: Memory limit should be smaller than already set memoryswap limit, update the memoryswap at the same time
Donc, j'ai défini l'option "--memory-swap -1" et l'ai exécutée, et cela a réussi.
Lorsque la mémoire est chargée comme indiqué ci-dessous, il peut être confirmé que la limite 1G est appliquée.
$ docker exec -it centos8 /bin/bash
# /dev/null < `yes`
$ docker stats centos8 --no-stream
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
917f3986a06b centos8 106.50% 1GiB / 1GiB 100.00% 15.4kB / 10.4kB 52.3MB / 4.1kB 229
Recommended Posts