VirtulBox : 6.1 Host-Betriebssystem: 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
↑ Wenn Sie den Port angeben, sieht es so aus
$ sudo docker stats centos8
$ sudo docker stats centos8 --no-stream
Ich stolperte auf verschiedene Weise, aber es gelang mir, Folgendes zu tun.
$ sudo docker update -m 1G --memory-swap -1 CONTAINER_ID
Zuerst habe ich den folgenden Befehl ausgeführt, aber es ist ein Fehler aufgetreten.
$ 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.
Gelöst durch Ändern der Swap-Einstellung von Grub.
$ sudo vi /etc/default/grub
$ sudo update-grub
grub.Aktualisieren Sie cfg und starten Sie das Host-Betriebssystem neu.
Als ich es nach dem Neustart erneut ausführte, trat der folgende Fehler auf.
$ 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
Also habe ich die Option "--memory-swap -1" gesetzt und ausgeführt, und es ist gelungen.
Wenn der Speicher wie unten gezeigt geladen wird, kann bestätigt werden, dass das 1G-Limit angewendet wird.
$ 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