본문 바로가기

데이터베이스/mongdb

mongdb docker 설치mongdb docker 설치

참고

elfinlas.github.io/2019/02/11/docker-on-mongo/

도커이미지 다운
docker pull mongdb
도커 container 실행
로컬용
docker run --name mongdb_server -v D:\mogodb\data\db:/data/db -d -p 27017:27017 --restart always  mongo --auth
서버용
docker run --name mongdb_server -v /home/jijs/data/db:/data/db -d -p 27017:27017 --restart always  mongo --auth
설치를 하고 나서  shell 로 들어가서
mongo 를 입력하면
mongo db shell 이 나타난다.

외부에서 접근하려고 하면 안된다.
mongodb://192.168.0.3:27017

외부 접속허용

bongbongreview.tistory.com/69

 

MongoDB 외부접속 허용하기

MongoDB를 처음 설치하면 설치된 서버의 로컬(127.0.0.1)에서만 접근할 수 있습니다. 이에 방화벽 이나 AWS를 사용한 경우에 보안설정을 통해 해당 포트를 열어 두었어도 원격에서 접속이 되지 않습니

bongbongreview.tistory.com

asdfasdf

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
# bindIp: 127.0.0.1


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

# bindIp: 127.0.0.1   앞에 #을 붙여줘서 주석처리한다.

위에 위에 참고한것을 보면 docker를 실행할때에도  달라야한다. mongdb는 기본 mongod.conf를 참고하지 않아서이다

/etc/mongod.conf.orig 파일을 /home/jijs/data/mongod.conf 파일로 복사하고 위에 주석처리한것을 해준다..
서버
docker run --name mongdb_server  -d -p 27017:27017 --restart always  \
-v /home/jijs/data/db:/data/db \
-v /home/jijs/data/mongod.conf:/etc/mongod.conf \
 mongo --auth

이렇게 해줬는데도 로그인이 안된다.

로컬에서 mongo 로 mongo db 접속

use admin 으로 전환

사용자 추가

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

compass접속주소

mongodb://admin:admin@192.168.0.13:27017