VirtulBox : 6.1 Host OS: 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
↑ When specifying the port, it looks like this
$ sudo docker stats centos8
$ sudo docker stats centos8 --no-stream
I stumbled in various ways, but succeeded by doing the following.
$ sudo docker update -m 1G --memory-swap -1 CONTAINER_ID
At first, I executed the following command, but an error occurred.
$ 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.
Solved by changing the swap setting of grub.
$ sudo vi /etc/default/grub
$ sudo update-grub
grub.Update cfg and restart the host OS.
When I re-executed it after restarting, the following error occurred.
$ 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
So, I set the "--memory-swap -1" option and executed it, and it succeeded.
When the memory is loaded as shown below, it can be confirmed that the 1G limit is applied.
$ 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