Docker에 MongoDB설치
docker search mongo
다른 사람들이 만들어 놓은 mongo목록을 볼 수 있다.
MongoDB Docker 이미지 다운
다음 명령어를 입력하여 이미지를 받자
docker pull mongo
실행하면 아래와 같이 이미지를 받았고,
Using default tag: latest
latest: Pulling from library/mongo
01bf7da0a88c: Pull complete
f3b4a5f15c7a: Pull complete
57ffbe87baa1: Pull complete
77d5e5c7eab9: Pull complete
43798cf18b45: Pull complete
67349a81f435: Pull complete
590845b1f17c: Pull complete
1f2ff17242ce: Pull complete
6f11b2ce0594: Pull complete
91532386f4ec: Pull complete
705ef0ab262e: Pull complete
e6238126b609: Pull complete
Digest: sha256:8b35c0a75c2dbf23110ed2485feca567ec9ab743feee7a0d7a148f806daf5e86
Status: Downloaded newer image for mongo:latest
docker.io/library/mongo:latest
이미지를 검색하면 몽고 이미지가 받아져 있다.
MongoDB Docker 컨테이너 실행
docker run --name [컨테이너 이름] -d -p [몽고db포트]:[몽고db포트] [버전] [이미지이름] [db저장경로]
ex)
docker run --name mongo_container -d -p 27017:27017 -v mongo C:\Users\dkxmp\Documents\nodejs_practice\database:/data/db
이후 컨테이너에 접속하자
docker exec -it [몽고컨테이너ID] bash
이후 몽고 docker에서 mongo입력
몽고 DB명령어 다음 링크 참조
https://freekim.tistory.com/13
> db
test
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
> use myapp
switched to db myapp
> db
myapp
> show collections
>
콜렉션에 아무것도 저장하지 않아 내용이 출력되지 않음
그리고 다음 명령문을 입력하여 데이터를 저장해보자
> db.memo.insert({title:"hello",text:"welcome to mongo world!"})
WriteResult({ "nInserted" : 1 }
어떤 데이터가 저장되어 있는지 확인하려면 아래와 같이 입력
> db.memo.find()
{ "_id" : ObjectId("6113cbe5015507e215501af6"), "title" : "hello", "text" : "welcome to mongo world!" }
id는 자동으로 생성되는 값이다.
좌상단에 보면 아래와 같이 database폴더에 파일들이 생성되었다.
물론 이런 db파일들을 git에 올리면 큰일(?) 난다..
그래서 커밋할때 추척을 방지하기 위해서 .gitignore파일을 만들어서 제어하면 된다.
gitignore사용법은 다음 링크를 참조하자.
https://programming119.tistory.com/105
.gitignore에 database/를 입력하여 저장했더니 왼쪽 파일탐색기에서 database폴더가 검정색으로 변하고 추적에서 제외되었다.
MongoDB Compass
외부에서 접속하기 위해서 몽고DB 컴파스를 설치하자
https://www.mongodb.com/try/download/compass
mongodb compass는 GUI와 같아서 한눈에 보기 쉽다.
접속후 좌측 다운로드 버튼을 클릭해 알집파일을 받고 실행하자.
실행하고 튜토리얼을 끄고 초기 설정이 나오는데 그냥 확인 버튼 누르고
아래 New Connection에 다음과 같이 작성하자
mongodb://localhost:27017
(몽고 컨테이너가 실행되어야 한다.)
정상적으로 연결되면
출력하고
memo를 클릭
아까 도커에서 insert명령어를 통해 저장한 데이터를 확인할 수 있다.
'Infra > Docker' 카테고리의 다른 글
Dockerfile을 활용하여 자체 이미지 빌드, 컨테이너 실행 (0) | 2023.06.16 |
---|---|
Docker 외부 접속 실습 - (feat. vscode) (0) | 2021.08.11 |
Docker 개념, 명령어 (0) | 2021.08.10 |