Это VPS на Ubuntu 24. Discourse уже использует 10 ГБ оперативной памяти. Это недопустимо.
Похоже, что он сформировал команду docker run. Хотя в ней уже указано:
–shm-size=512m
Я бы предпочёл добавить ограничения по CPU и RAM, так как не хочу, чтобы он забирал все 4 ядра и 12 ГБ памяти, ведь здесь будут работать и другие контейнеры Docker. Можно ли просто скопировать полученную команду, или она где-то сохраняется? Я планирую выполнить docker stop и docker rm, чтобы добавить:
Это ответ, предоставленный ask.discourse.org. Пожалуйста, оцените его полезность.
1. Установка постоянных ограничений на CPU и RAM для Docker Discourse
При установке Discourse на VPS через официальное руководство GitHub ограничения ресурсов, такие как --memory и --cpus, по умолчанию не включаются. Хотя вы можете вручную добавить такие флаги в команду запуска Docker, любые изменения, сделанные напрямую через docker stop и новый docker run, будут утеряны после выполнения ./launcher rebuild app. Скрипт запуска всегда воссоздает контейнер.
Рекомендуемые подходы:
a) Изменение скрипта запуска
Чтобы постоянно применять ограничения ресурсов, необходимо изменить скрипт launcher, который Discourse использует для запуска контейнеров Docker. Например, примерно на строке 289 адаптируйте:
b) Прямое редактирование команды Docker
Хотя технически возможно запустить Docker с пользовательскими ограничениями, скопировав вашу обновлённую команду docker run, это не является постоянным решением и не рекомендуется.
На данный момент нет официального постоянного «встроенного» способа передачи аргументов Docker --memory или --cpus для стандартных инструментов развёртывания Discourse, кроме изменения скрипта запуска.
2. Имя контейнера
По умолчанию скрипт запуска Discourse называет контейнер app. Вы можете убедиться в этом с помощью команды docker ps. Изменение имени контейнера также потребует прямого изменения скрипта запуска или шаблонов.
Подробнее: Discourse в контейнере Docker
Если вы ищете более элегантный и постоянный способ (например, через шаблон или поддерживаемую функцию запуска), ознакомьтесь с этой темой: Параметры для VPS с ограниченными ресурсами?