참고
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
외부 접속허용
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