Docker containerd-shim стоит слишком много памяти - PullRequest
0 голосов
/ 09 октября 2019

Я хочу развернуть 100 контейнеров на одном из моих Linux-ПК.

Если не использовать docker, память в порядке для этих 100 служб.

Но если использовать Docker, я вижу следующее:

 25504  0.0  0.0  10796  5060 ?        Sl   12:41   0:00 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/779ab7bff4bed93d2912437e58e9b830c2f72ef2d8f3b4a5ba31e6d0db8e72b2 -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd -runtime-root /var/run/docker/runtime-runc

Это означает, что для одного контейнера containerd-shim будет стоить 5M памяти, что еще хуже: для каждого нового контейнера будет один containerd-shim процесс. Это означает, что для 100 контейнеров будет потребляться дополнительная 5M * 100 = 500M память.

Выше ожидаемого? Есть ли у меня шанс попытаться уменьшить 500M?

1 Ответ

1 голос
/ 09 октября 2019

шагов для использования runc

-экстракт json из Docker image:

mkdir my_container
cd my_container
mkdir rootfs
docker export $(docker create busybox) | tar -C rootfs -xvf -
docker-runc spec

- запуск контейнера

runc run container-name

Источник

PS : вы также можете попытаться добавить время выполнения к Docker daemon:

docker daemon --add-runtime "oci=/usr/local/sbin/runc"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...