Dockerを使用してMongoDBクラスターを構築する方法は何ですか?

MongoDBクラスターを構築するために、Dockerを使用して迅速に展開できます。以下は基本的な手順です。

  1. DockerとDocker Composeをインストールする:ホストマシンにDockerとDocker Composeをインストールし、MongoDBを実行するためのDockerコンテナを使用できるようにします。
  2. Docker Composeファイルを作成してください:MongoDBクラスターの構成を定義するためのdocker-compose.yamlというファイルを作成してください。
version: '3'
services:
  mongo1:
    image: mongo
    restart: always
    ports:
      - 27017:27017
    volumes:
      - ./data/mongo1:/data/db
    environment:
      - "MONGO_INITDB_ROOT_USERNAME=admin"
      - "MONGO_INITDB_ROOT_PASSWORD=password"
      - "MONGO_INITDB_DATABASE=admin"
      - "REPLICA_SET=rs0"
      - "SERVICE_NAME=mongo1"
  mongo2:
    image: mongo
    restart: always
    ports:
      - 27018:27017
    volumes:
      - ./data/mongo2:/data/db
    environment:
      - "MONGO_INITDB_ROOT_USERNAME=admin"
      - "MONGO_INITDB_ROOT_PASSWORD=password"
      - "MONGO_INITDB_DATABASE=admin"
      - "REPLICA_SET=rs0"
      - "SERVICE_NAME=mongo2"
  mongo3:
    image: mongo
    restart: always
    ports:
      - 27019:27017
    volumes:
      - ./data/mongo3:/data/db
    environment:
      - "MONGO_INITDB_ROOT_USERNAME=admin"
      - "MONGO_INITDB_ROOT_PASSWORD=password"
      - "MONGO_INITDB_DATABASE=admin"
      - "REPLICA_SET=rs0"
      - "SERVICE_NAME=mongo3"

この設定ファイルは、mongo1、mongo2、mongo3という名前の3つのMongoDBコンテナを定義しています。それぞれのコンテナはホストマシンのデータディレクトリをマッピングし、管理者のユーザー名、パスワード、データベース名が設定されています。

  1. MongoDBクラスターを起動するには、以下のコマンドをターミナルで実行し、Docker Composeを使用してMongoDBクラスターを起動してください。
docker-compose up -d

このコマンドは、MongoDBコンテナをバックグラウンドで起動し、自動的に名前がrs0のレプリカセットを作成します。

  1. MongoDBクラスターの1つのノードに接続し、レプリカセットを初期化するために、以下のコマンドを端末で実行してください。
docker exec -it mongo1 mongo admin --eval "rs.initiate({_id: 'rs0', members: [{_id: 0, host: 'mongo1:27017'}, {_id: 1, host: 'mongo2:27017'}, {_id: 2, host: 'mongo3:27017'}]})"

このコマンドは、mongo1コンテナに接続して、複製セットを初期化するためにMongoDBシェルコマンドを実行します。

これで、MongoDBクラスターを成功裏に構築しました。クラスターに接続してデータ操作を行うために、さまざまなMongoDBクライアントツールを使用できます。

bannerAds