dscat
(Diego)
1
こんにちは、
インストール手順がわかりません。Discourse を水平方向にスケーリングすることはできますか?
例えば、異なるサーバー上で Discourse を実行する 2 つ以上の Docker コンテナを持つような設定です。
GitHub - discourse/discourse_docker: A Docker image for Discourse · GitHub の手順には以下のように記載されています。
マルチコンテナ構成はより柔軟で堅牢ですが、セットアップが複雑になります。マルチコンテナ構成を使用すると、以下のことが可能になります:
- Discourse の新バージョンへのアップグレード時のダウンタイムを最小限に抑えることができます。サイトが稼働している間に新しい Web プロセスをブートストラップし、構築が完了してから新しいイメージに切り替えることができます。
- フォーラムを複数のサーバーにスケーリングできます。
- 冗長性のためにサーバーを追加できます。
- 必要なサービス(例:データベース)を高性能なハードウェアで実行できます。
マルチコンテナ構成をご希望の場合は、samples ディレクトリ内の data.yml および web_only.yml テンプレートをご覧ください。このプロセスを容易にするため、launcher はイメージ内で利用可能な DISCOURSE_HOST_IP という環境変数を注入します。
複数のコンテナを同じサーバー上で実行するのではなく、異なるサーバー上でコンテナを実行する方法について、さらに詳しい情報が見つかる場所をご存知でしょうか?
よろしくお願いいたします。
Falco
(Falco)
2
Discourse はブートストラップが不要な頻繁な Docker イメージを配信できますか? に関する関連する議論が多数あります。
要点は以下の通りです:
-
PostgreSQL、Redis、ロードバランサーの外部サービスを提供し、app.yml をそれらを使用するように設定します。例えば、別々の PostgreSQL サーバーで Discourse を実行する のように設定します。
-
どこかで ./launcher bootstrap app を実行します。これにより、ローカルマシンにコンテナイメージが作成されます。このイメージをコンテナレジストリサービスにアップロードしてください。
-
これで、前ステップでエクスポートしたイメージを実行するように指定して、任意の数のインスタンスを起動できるようになります。
「いいね!」 4
pfaffman
(Jay Pfaffman)
3
Discourse Docker を Apache と並行して実行する のような方法で、リバースプロキシを前面に配置した 2 つの Web コンテナを作成できます。
マルチサイト機能を使用すれば、単一のコンテナで複数のサイトをサービス提供できます(同じプラグインと Discourse バージョンを使用)。こちら では、外部リバースプロキシを使用せずにその方法について説明しています。試される場合は、そちらにコメントを残して、動作したかどうか教えていただけますか。動作が確実になれば、ここに投稿する予定です。
複数のサーバーでコンテナを実行する方法も、上記のいずれかと同様です。複数のコンテナが同じ Redis と Postgres を共有し、それらの背後にロードバランサーを配置します。
Discourse 公式の標準インストール 以外のことをする場合は、その方法が無数に存在するため、サポート対象外となります。