반응형
SMALL
MongoDB 설치하기 - docker-compose 사용 안한 버전
Docker 위에 MongoDB 컨테이너 설치하기
1. mongo 폴더 만들기
- 컨테이너 설치별로 작업 폴더를 만들어 작업하는 것이 좋음
$ mkdir mongo
$ cd mongo
2. Dockerfile
파일 만들기
이 파일을 기반으로 컨테이너가 만들어짐
$ code Dockerfile
## Visual Code 통해 파일이 생성됨
FROM mongo
# WORKDIR
# RUN
# COPY
CMD ["mongod"]
MongoDB 이미지
mongo
- 도커허브-mongo
"mongod"
- MongoDB 접속 데몬
3. Dockerfile
빌드하기
$ docker build -t ninizz/mymongodb:latest .
Sending build context to Docker daemon 3.072kB
Step 1/2 : FROM mongo
latest: Pulling from library/mongo
2746a4a261c9: Pull complete
4c1d20cdee96: Pull complete
0d3160e1d0de: Pull complete
c8e37668deea: Pull complete
fc3987a82b4c: Pull complete
c75f139e0836: Pull complete
4acc9c8680b4: Pull complete
fb02df30d947: Pull complete
ae725ef3d2ce: Pull complete
e30f54ed6b43: Pull complete
bca9e535ddb8: Pull complete
9c3edad81b2a: Pull complete
6dbcf78fe5ae: Pull complete
Digest: sha256:7a1406bfc05547b33a3b7b112eda6346f42ea93ee06b74d30c4c47dfeca0d5f2
Status: Downloaded newer image for mongo:latest
---> a0e2e64ac939
Step 2/2 : CMD ["mongod"]
---> Running in 444f7ac0521c
Removing intermediate container 444f7ac0521c
---> 2b0b8f4dbbcd
Successfully built 2b0b8f4dbbcd
Successfully tagged ninizz/mymongodb:latest
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.
$
- 현재 위치에 있는
Dockerfile
을ninizz/mymongodb:latest
라는 이름으로 빌드하겠다.
4. 이미지 확인
- 빌드하여 이미지가 만들어졌는지 확인
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ninizz/mymongodb latest 2b0b8f4dbbcd 8 seconds ago 364MB
5. 컨테이너 생성하기
$ docker run -p 27017 ninizz/mymongo
- MongoDB 포트
- 27017
- run 하고나면 작업 중이던 셸이 로그창이 되니까 새로운 셸을 띄운다.
- 프로세스가 띄워졌다는 뜻
6. 프로세스 확인
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4acbda534af1 ninizz/mymongodb:latest "docker-entrypoint.s…" 35 seconds ago Up 30 seconds 0.0.0.0:32768->27017/tcp jolly_zhukovsky
- 호스트 포트 (32768)
- 컨테이너 생성 시 지정을 안했기 때문에 랜점 배정
7. 컨테이너 실행시키기
$ docker exec -it 4acbda534af1 bash
- 컨테이너 ID
4acbda534af1
를 bash 셸로 실행시키겠다.
8. MongoDB 접속하기
## bash shell
root@4acbda534af1:/
root@4acbda534af1:/ mongo
>
- $ mongo -h -p
- 지정 IP / 지정 PORT 접속하는 법
9. DB TEST
> show dbs;
admin 0.000GB
config 0.000GB
local 0.000GB
> use bookstore;
switched to db bookstore
> db.books.save({'title':'Docker compose sample'});
WriteResult({ "nInserted" : 1 })
> db.books.find();
{ "_id" : ObjectId("5e158bc251bcf9f7e5986b83"), "title" : "Docker compose sample" }
반응형
LIST
'Docker' 카테고리의 다른 글
[Docker] 스웜이란? (What is Docker Swarm?) / 도커 인 도커 (DinD) (0) | 2020.03.29 |
---|---|
[Docker] 도커 네트워크 종류 (0) | 2020.03.28 |
[Docker] docker-compose 란? (compose 실행 및 종료) (1) | 2020.03.26 |
[Docker] Volume Mount(볼륨 사용하기) (1) | 2020.03.26 |
[Docker] 이미지 빌드와 컨테이너 실행 (0) | 2020.03.24 |