メインコンテンツへ移動

MongoDB 単一ノードをレプリカセットに変換する

本製品の構成では、MongoDB の単一ノードには、ストレージコンポーネントイメージに内蔵された MongoDB と、個別にデプロイした MongoDB の2種類があります。さらに認証の有効・無効によって、次の4つのケースに分かれます。

  • 内蔵 MongoDB、認証無効
  • 内蔵 MongoDB、認証有効
  • 外部 MongoDB、認証無効
  • 外部 MongoDB、認証有効

組み込み MongoDB とは、sc:3.2.0 イメージ内に含まれる MongoDB コンポーネントを指します。

  1. docker-compose.yaml に ENV_MONGODB_DAEMON_ARGS: "--replSet sc-mongodb" を追加します。

    ENV_MONGODB_DAEMON_ARGS を追加すると、自動的にレプリカセットモードに変換されます。内蔵スクリプトは rs.initiate({_id: "sc-mongodb",members:[ {_id : 1, host : "sc:27017"} ]}) です(他のクライアントからこの MongoDB に接続する場合は、各クライアントに sc サービス名の名前解決用 hosts エントリを追加してください)。

    services:
    core:
    image: nocoly/core:7.5.1
    environment: &app-environment
    ENV_MONGODB_DAEMON_ARGS: "--replSet sc-mongodb"
  2. サービスを再起動します。マネージャのルートディレクトリで以下を実行してください。

    bash ./service.sh restartall