All Projects → frontalnh → mongodb-replica-set

frontalnh / mongodb-replica-set

Licence: MIT License
Docker setting for mongodb replica set

Programming Languages

Dockerfile
14818 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to mongodb-replica-set

Fusionauth Containers
Container definitions for docker, kubernetes, helm, and whatever containers come next!
Stars: ✭ 101 (+380.95%)
Mutual labels:  docker-compose, docker-image
Docker Workshop
Introduction to Docker tutorial
Stars: ✭ 124 (+490.48%)
Mutual labels:  docker-compose, docker-image
Docker Laravel
🐳 Docker Images for Laravel development
Stars: ✭ 101 (+380.95%)
Mutual labels:  docker-compose, docker-image
Docker Superset
Repository for Docker Image of Apache-Superset. [Docker Image: https://hub.docker.com/r/abhioncbr/docker-superset]
Stars: ✭ 86 (+309.52%)
Mutual labels:  docker-compose, docker-image
Larakube
Laravel app deployment for auto scaled Kubernetes cluster
Stars: ✭ 157 (+647.62%)
Mutual labels:  docker-compose, docker-image
Docker Compose Lamp
A basic LAMP stack environment built using Docker Compose.
Stars: ✭ 1,284 (+6014.29%)
Mutual labels:  docker-compose, docker-image
Docker
最新lnmp环境,包含php, java,nginx, mysql, go, node, mongodb, openssh server, redis, crond xhprof,maven等服务
Stars: ✭ 120 (+471.43%)
Mutual labels:  docker-compose, docker-image
Directus Docker
Directus 6 Docker — Legacy Container [EOL]
Stars: ✭ 68 (+223.81%)
Mutual labels:  docker-compose, docker-image
Docker Phoenix
A dockerized Phoenix development and runtime environment.
Stars: ✭ 152 (+623.81%)
Mutual labels:  docker-compose, docker-image
Container
HedgeDoc container image resources
Stars: ✭ 149 (+609.52%)
Mutual labels:  docker-compose, docker-image
Cabot Docker
Docker Images to build full cabot environment
Stars: ✭ 75 (+257.14%)
Mutual labels:  docker-compose, docker-image
Docker Postfix
Simple SMTP server / postfix null relay host for your Docker and Kubernetes containers. Based on Alpine Linux.
Stars: ✭ 163 (+676.19%)
Mutual labels:  docker-compose, docker-image
Bareos
Docker image for Bareos
Stars: ✭ 74 (+252.38%)
Mutual labels:  docker-compose, docker-image
Docker Multistreamer
Dockerized multistreamer
Stars: ✭ 90 (+328.57%)
Mutual labels:  docker-compose, docker-image
Dockerfiles
lots of dockerfiles, based on alpine
Stars: ✭ 69 (+228.57%)
Mutual labels:  docker-compose, docker-image
Dockernotes
Docker入门精华版
Stars: ✭ 107 (+409.52%)
Mutual labels:  docker-compose, docker-image
Scala Graalvm Docker
Docker images to build and generate native artifacts using GraalVM
Stars: ✭ 60 (+185.71%)
Mutual labels:  docker-compose, docker-image
Poco
Poco will help you to organise and manage Docker, Docker-Compose, Kubernetes, Openshift projects of any complexity using simple YAML config files to shorten the route from finding your project to initialising it in your local environment.
Stars: ✭ 66 (+214.29%)
Mutual labels:  docker-compose, docker-image
Laravel Docker K8s
Running Laravel project using Docker and Deploying using Kubernetes
Stars: ✭ 127 (+504.76%)
Mutual labels:  docker-compose, docker-image
Jekyll Serve
Jekyll in a Docker Container For Easy SSG Development
Stars: ✭ 164 (+680.95%)
Mutual labels:  docker-compose, docker-image

MongoDB replica set

Simple MongoDB replica set docker compose file.

In order to use Transaction function in MongoDB, you need a set of a replicated databases named MongoDB replica set.

This project makes it easy to build a MongoDB replica set circumstances by using docker container.

Requirements

This project uses a Docker container for virtualizing Database circumstances. Therefore, Docker must be installed

To set localhost host environment, Direnv must be installed

how to install direnv?

install with brew

brew install direnv

set bash configuration(if you use bash) set zsh configuration(if you use zsh)

vi ~/.bashrc or vi ~/.zshrc

# add below configuration
eval "$(direnv hook bash)" or eval "$(direnv hook zsh)"

# apply
source ~/.bashrc or source ~/.zshrc

Installation

Pull all the necessary docker image from docker hub and set up replica set configuration

docker-compose up

Set host name so that localhost can connect to docker container's internal ip with given mongodb configuration setting

direnv allow

Set host for connecting to docker inner network

Changing directory to /dev triggers direnv setting so that hostname mongo-rs0-1, mongo-rs0-2, mongo-rs0-3 will be registered in you pc

cd dev

If you have Err: direnv: error .envrc is blocked Run direnv allow to approve its content.

direnv allow

Check which server is Primary node

docker exec mongodb-replica-set_mongo-rs0-1_1 bash -c 'mongo --eval "rs.status()"'

result Result

In members field you can find member who has "PRIMARY" in "stateStr" field, and that is a Primary Node

Connect to replica set

mongo 'mongodb://test:test1234@mongo-rs0-1:27017,mongo-rs0-2:27018,mongo-rs0-3:27019/test?replicaSet=rs0'

Connect to primary node

mongo --host `mongo mongo-rs0-1:27017 --quiet --eval "db.isMaster()['primary']"`

Create Account

Create Admin Account

mongo
use admin
db.createUser({user: "root", pwd: "test1234", roles: [{ role: "root", db: "admin" }] });

Create Database and matching account

mongo
use testdb
db.createUser(
 { user: "test",
 pwd: "test1234",
 roles: ['readWrite','userAdmin'] } )
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].