Docker-compose // Ошибка создания среды выполнения OCI // Ошибка pthread_create

Недавно я арендовал VPS как частную площадку и для обучения докеру. Я хочу разместить несколько веб-сервисов за nginx-proxy вместе с docker-letsencrypt-nginx-proxy-companion .

Настройка

На сервере работает Ubuntu 18.04.4 LTS, Docker версия 19.03.6 , сборка 369ce74a3c, docker-compose версия 1.17.1 , сборка неизвестна.

4 ГБ vRAM, 4vCores (оборудование работает на Intel Xeon)

Проблема

Как только я хочу запустить более 8 контейнеров, я получаю strage ошибки. Есть несколько разных ошибок, и я не могу особенно сказать, когда какая из них появляется:

  • Ошибка создания среды выполнения OCI например, при попытке запустить joomla как проект compose с mysql:
ERROR: for joomla_joomladb_1  Cannot start service joomladb: OCI runtime create failed:
unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v1.linux/moby/741c[...]6e3/log.json:
no such file or directory): fork/exec /usr/sbin/runc: resource temporarily unavailable: unknown
  • сброс сокета
ERROR: for joomla_joomladb_1  Cannot start service joomladb: read unix @->@/containerd-shim/24f42b8[...]32fa1.sock:
read: connection reset by peer: unknown
  • pthread_create не удалось: ресурс временно недоступен У меня сейчас нет соответствующих журналов. Я отправлю их сюда, если ошибка возникнет еще раз. Но одна строка всегда выглядит как родительский идентификатор не найден. Когда появляется эта ошибка, я больше ничего не могу делать. См. Следующий пункт:

Кроме того, в связи с этим иногда я получаю некоторые странные ошибки в моей оболочке при вводе любой команды. Когда сервер находится на этой стадии, я не могу выполнить root-доступ или перезагрузиться с помощью командной строки. Вы можете видеть, как я пытаюсь ввести sudo на этой картинке: Ошибки при выполнении любой команды. Даже выключение или перезагрузка

То, что я пробовал

  • Я видел этот отчет на Github и несколько других, а также ссылки на максимальное ограничение задачи на машине. Я уже установил это на более высокое значение, а также на бесконечность , но все это, похоже, не помогает. (Однажды я изменил его в /etc/systemd/system.conf , а также в systemctl edit docker.service ).
$ systemctl show --property=DefaultTasksMax
 DefaultTasksMax=4659
$ systemctl status docker
...
  Tasks: 52
...
  • Я установил точно такую ​​же систему на свой локальный ноутбук (кроме программного обеспечения для виртуализации - VPS работает на ПК Р-Виртуализация, локально я использовал Quemu с virtmanager) - и все работает, как ожидалось!

  • Проблемы возникают с любым контейнером, который я пытаюсь запустить. hello-world , другой проект compose или уже построенный проект ...

  • Я связался со своим хостинг-провайдером, также упомянутый выше вопрос, и сказал, что они не будут ограничивать любое использование.

0
задан 11 June 2020 в 13:02
1 ответ

Теперь обнаружил проблему: Хостинг-провайдер ограничивает количество задач виртуальных машин. Этот метод называется счетчиками пользовательских компонентов.

Существует файл, в котором вы можете проверить эти ограничения, установленные Virtuozzo в /proc/user_beancounters

Итак, когда вы знаете, что ваш VPS размещен на Virtuozzo, вы можете cat этот файл или использование скриптов из здесь для чтения ограничений этого ресурса.

Файл в основном описывает 3 поля:

  • hold: текущее использование ресурса
  • failcnt: количество всех отклоненных распределений ресурсов
  • barrier/limit : управляющий параметр, который обычно определяет нормальную границу распределения ресурсов

(скопировано из здесь)

Если отображаемое значение в каком-либо поле безумно велико, это означает, что эти ресурсы не 't вынужден до предела.

Ключевой строкой в ​​моем случае была numprocs. Он сообщает максимальное количество задач, которые может выполнять машина. А так как процессы в докер-контейнере также работают на том же ядре, что и VPS, все учитывается.

Так что единственным выходом здесь было перейти к другому хостеру, который не использует Virtuozzo (вроде этого)!

1
ответ дан 23 May 2020 в 19:05

Теги

Похожие вопросы