출처 : https://devs0n.tistory.com/43
- 파일 생성
/home/ubuntu/mongod/docker-compose.yml
version: "3.6"
services:
mongo-1:
image: mongo:4.4
container_name: mongo-1
ports:
- "30000:30000"
command: mongod --replSet replset --port 30000 **--bind_ip 0.0.0.0**
mongo-2:
image: mongo:4.4
container_name: mongo-2
ports:
- "30001:30001"
command: mongod --replSet replset --port 30001 **--bind_ip 0.0.0.0**
mongo-3:
image: mongo:4.4
container_name: mongo-3
ports:
- "30002:30002"
command: mongod --replSet replset --port 30002 **--bind_ip 0.0.0.0**
C:\Windows\System32\drivers\etc\hosts 추가 (MongoDB IP)
**192.168.0.53** mongo-1
192.168.0.53 mongo-2
192.168.0.53 mongo-3
시작
docker compose up &
종료
docker compose down
**도커에 접속**
docker exec -it mongo-1 mongo --port 30000
**mongod 1 :** PRIMARY
**mongod 2 :** SECONDARY
**mongod 3 :** SECONDARY
> config = {
"_id" : "replset", // docker-compose에 있는 replSet과 동일하게
"members" : [
{
"_id" : 0,
"host" : "mongo-1:30000"
},
{
"_id" : 1,
"host" : "mongo-2:30001"
},
{
"_id" : 2,
"host" : "mongo-3:30002"
}
]
}
> rs.initiate(config);
{ "ok" : 1 }
**mongod 1]**
**샘플데이터 입력**
db.wallets.insert(
{
wid: 4,
uid: "11e035c6-ed09-4c91-aae7-50a72ea3f344",
ucPubkey: "0x029c8804e80db19ffe796746ae70c04f25e137c14b08d3e1ea925b92b734812632",
created: "2022-08-11T14:00:51.059Z"
}
)
**샘플 데이터 확인**
> db.wallets.find({})
{ "_id" : ObjectId("63acdad42c351689ae8b3af7"), "wid" : 4, "uid" : "11e035c6-ed09-4c91-aae7-50a72ea3f344", "ucPubkey" : "0x029c8804e80db19ffe796746ae70c04f25e137c14b08d3e1ea925b92b734812632", "created" : "2022-08-11T14:00:51.059Z" }
>
- Robo 3T docker compass 접속 정보 설정
- docker compass 왼쪽 확인
SECONDARY에 접근하기 위한 명령어
**mongod 2] , mongod 3]**
replset:SECONDARY> rs.slaveOk()
- mongod 1] , mongod 2] , mongod 3] 데이터 동일 여부 확인
- 파일 생성
시작 docker compose up & 종료 docker compose down
**도커에 접속** docker exec -it mongo-1 mongo --port 30000 **mongod 1 :** PRIMARY **mongod 2 :** SECONDARY **mongod 3 :** SECONDARY > config = { "_id" : "replset", // docker-compose에 있는 replSet과 동일하게 "members" : [ { "_id" : 0, "host" : "mongo-1:30000" }, { "_id" : 1, "host" : "mongo-2:30001" }, { "_id" : 2, "host" : "mongo-3:30002" } ] } > rs.initiate(config); { "ok" : 1 } **mongod 1]** **샘플데이터 입력** db.wallets.insert( { wid: 4, uid: "11e035c6-ed09-4c91-aae7-50a72ea3f344", ucPubkey: "0x029c8804e80db19ffe796746ae70c04f25e137c14b08d3e1ea925b92b734812632", created: "2022-08-11T14:00:51.059Z" } ) **샘플 데이터 확인** > db.wallets.find({}) { "_id" : ObjectId("63acdad42c351689ae8b3af7"), "wid" : 4, "uid" : "11e035c6-ed09-4c91-aae7-50a72ea3f344", "ucPubkey" : "0x029c8804e80db19ffe796746ae70c04f25e137c14b08d3e1ea925b92b734812632", "created" : "2022-08-11T14:00:51.059Z" } >
- Robo 3T docker compass 접속 정보 설정
- docker compass 왼쪽 확인
**mongod 2] , mongod 3]** replset:SECONDARY> rs.slaveOk()
- mongod 1] , mongod 2] , mongod 3] 데이터 동일 여부 확인
'시스템' 카테고리의 다른 글
Logstash 설치 (0) | 2023.04.27 |
---|---|
iptime 공유기 & mesh linksys 콜라보레이션 무선 AP 구성 (0) | 2023.04.18 |
s3 권한이 없는 경우 (0) | 2022.05.17 |
프로메테우스 모니터링 (0) | 2022.03.30 |
nginx/1.18.0 (Ubuntu20.04) gzip (0) | 2022.03.07 |