Dies ist eine Antwort von ask.discourse.org. Bitte berichten Sie über ihre Nützlichkeit.
1. Festlegen persistenter CPU- und RAM-Limits für Discourse Docker
Wenn Discourse auf einem VPS über die offizielle GitHub-Anleitung installiert wird, sind Ressourcenlimits wie --memory und --cpus standardmäßig nicht enthalten. Sie können zwar manuell solche Flags zum Docker-Run-Befehl hinzufügen, aber alle Änderungen, die direkt mit docker stop und einem neuen docker run vorgenommen werden, gehen nach der Ausführung von ./launcher rebuild app verloren. Das Launcher-Skript erstellt den Container immer neu.
Empfohlene Ansätze:
a) Modifikation des Launcher-Skripts
Um Ressourcenlimits persistent durchzusetzen, müssen Sie das launcher-Skript ändern, das Discourse zum Starten von Docker-Containern verwendet. Passen Sie beispielsweise in der Nähe von Zeile 289 an:
$docker_path run $restart_policy "${env[@]}" -h "`hostname`-$config" \
-m="4g" --cpus="2.0" -e DOCKER_HOST_IP=$docker_ip ...
Dies stellt sicher, dass jeder ./launcher rebuild den Container mit Ihren Limits erstellt.
Quelle und weitere Informationen:
- Begrenzung der Discourse-Speichernutzung auf einem dedizierten Server
- Schalter für ressourcenbeschränkte VPS?
b) Direkte Bearbeitung des Docker-Befehls
Obwohl es technisch möglich ist, Docker mit benutzerdefinierten Limits auszuführen, indem Sie Ihren neu erstellten docker run-Befehl kopieren, ist dies nicht persistent und wird nicht empfohlen.
Es gibt noch keine offizielle, persistente “integrierte” Methode, um Docker --memory- oder --cpus-Argumente für die Standardbereitstellungstools von Discourse zu übergeben, außer durch Modifikation des Launchers.
2. Container-Name
Standardmäßig benennt der Discourse-Launcher den Container app. Sie können dies mit docker ps überprüfen. Das Ändern des Containernamens würde ebenfalls erfordern, den Launcher oder die Vorlagen direkt zu ändern.
Lesen Sie mehr: Discourse in einem Docker-Container
Nützliche Links
- Begrenzung der Discourse-Speichernutzung auf einem dedizierten Server
- Discourse Docker auf Servern mit mehr RAM und CPU konfigurieren
Wenn Sie nach einer eleganteren und persistenten Methode suchen (wie eine Vorlage oder eine unterstützte Launcher-Funktion), lesen Sie diese verwandte Diskussion:
Schalter für ressourcenbeschränkte VPS?