1. 程式人生 > >Docker mongo副本集環境搭建

Docker mongo副本集環境搭建

code local 副本集 連接選項 環境搭建 環境 config ber doc

1、MongoDB Docker 鏡像安裝

docker pull mongo

2、Docker容器創建

MongoDB Docker 容器創建有以下幾個問題:
1- MongoDB 容器基本創建方法和數據目錄掛載
2- MongoDB 容器的數據遷移
3- MongoDB 設置登錄權限問題

docker run -p 27017:27017 -v <LocalDirectoryPath>:/data/db --name docker_mongodb -d mongo --replSet "rs"

3、副本集配置

config = { _id:"rs", members:[
     {_id:0,host:"192.168.1.136:27017"},
     {_id:1,host:"192.168.1.137:27017"},
     {_id:2,host:"192.168.1.138:27017"}]
 }
rs.initiate(config);

3、正確連接復制集的姿勢

mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

mongodb:// 前綴,代表這是一個Connection String
username:[email protected] 如果啟用了鑒權,需要指定用戶密碼
hostX:portX 復制集成員的ip:port信息,多個成員以逗號分割
/database 鑒權時,用戶帳號所屬的數據庫
?options 指定額外的連接選項

4、常用連接參數

如何實現讀寫分離?
在options裏添加readPreference=secondaryPreferred即可實現,讀請求優先到Secondary節點,從而實現讀寫分離的功能

如何限制連接數?
在options裏添加maxPoolSize=xx即可將客戶端連接池限制在xx以內。

如何保證數據寫入到大多數節點後才返回?
在options裏添加w= majority即可保證寫請求成功寫入大多數節點才向客戶端確認

Docker mongo副本集環境搭建