ドッキングウィンドウ-COMPOSEは、スタンドアロンのMongoDBクラスタ内とAUTHでさらにreplicaSetを展開します

苦渋の2日後、ようやく自分の所望の効果を達成し、それは主に、最新の4.2マルチドキュメントのトランザクションをテストするために、最新のMongoDBさらにreplicaSetを展開ドッカ - コンを介して行われ、以下のあなたと全体の手順を共有します:

ドッキングウィンドウ-compose.ymlは次のとおりです。

バージョン: '3.4' 

のサービス:
    モンゴ:
        CONTAINER_NAME:のMongoDB 
        画像:モンゴ:最新の
        ホスト名:のMongoDB 
        ボリューム:
          - /data/mongodb/mongod.conf:/etc/mongod.conf 
          - /データ/ MongoDBの/データ/ DB /:/データ/ DB / 
          - /データ/ MongoDBの/データ/ログ/:は/ var / log /のMongoDB / 
          - /data/mongodb/initdb.d/:/docker-entrypoint-initdb.d/ 
        環境:
          - MONGO_INITDB_ROOT_USERNAME =ルート
          - MONGO_INITDB_ROOT_PASSWORD = 123456の
        ポート:
            - "27017:27017" 
        ヘルス: 
            のテスト:テスト$$(エコー"rs.initiate(OK)|| rs.status()OK。。" |モンゴ-uルート-p '123456' --quiet) - EQ 1
            間隔:10秒
            start_period:30代
        のコマンド:[ "--replSet"、 "RS0"、 "--bind_ip_all"]

  

説明:

1、/data/mongodb/mongod.confファイルは次のように、あなたはファイルをマウントしていない場合は、主に、検証を可能にするために、事前に構築されたストリーキングでさらにreplicaSet必要

     

#mongod.conf 

#すべてのオプションのドキュメントは、以下を参照してください
#http://docs.mongodb.org/manual/reference/configuration-options/ 

#どこで、データを保存する方法について説明します。
ストレージ:
  DBPATH:/ data / dbで
  ジャーナル:
    有効:真
#エンジン:
#1 mmapv1:
#1 wiredTiger: 
ログデータを書き込みます。
systemLog:
  先:ファイル
  logAppend:真の
  パス:/var/log/mongodb/mongod.log 

#ネットワークインタフェースの
ネット:
  ポート:27017 
  bindIp:127.0.0.1の


プロセスの実行方法#
processManagementを:
  のTimeZoneInfo:を/ usr / share / zoneinfoのセキュリティ:
  承認:有効



#operationProfiling:

#replication:

#sharding:

##エンタープライズのみのオプション:

#auditLog:

#snmp:

  

2は、このディレクトリを初期化するために使用される/data/mongodb/initdb.d内のスクリプトが、前者は任意のデータを行わないことを提供し、私は、ディレクトリ内に作成create-app-user.sh  カスタム・データベースを初期化するために[yourdb次のようにユーザー名]と[パスワード] [123456] yourAdminは、読み取ります。

#!は/ usr / binに/ envをbashの
 エコー " のmongoユーザーを作成しています... " 

モンゴ管理 -uルート-p 123456 << EOF 
db.createUser({ユーザー:' 管理者'PWD' 123456 '、役割:[{役割:' userAdminAnyDatabase '、DB:' 管理者' }]}); 
db.grantRolesToUser(
   " 管理者" 
   [ " clusterAdmin " ] 
)。
123456 << EOF 
使用yourdb 
db.createUserを({ユーザー:' yourdbAdmin 'PWD' 123456 '、ロール:[{役割:' READWRITE '、DB:' yourdb ' }]})
EOF 
エコー yourdb用に作成Mongoのユーザー。"

 

図3は、monogクライアントログインをテストするために使用することができます。

   

Mongoの-uルート-p 123456

 ログインが成功した後、このようなドロップ:

実行  ショーDBS、  あなたはそれらのデータベースが構築され見ることができ、あなたが使用することができ、自分自身にテスト・ユーザーとパスワードを建てました。

Mongoの-u yourdbAdmin -p 123456 --authenticationDatabase yourdb

  

 

おすすめ

転載: www.cnblogs.com/autohome7390/p/11390465.html