잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).

여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.

감사합니다. -현록

후원해주실 분은 여기로→

현록의 기록저장소

Docker Compose로 MongoDB 환경 세팅 본문

Study/MongoDB

Docker Compose로 MongoDB 환경 세팅

현록 2023. 7. 13. 16:42

아래는 docker-compose.yml 내용

services:

  mongodb:

    image: mongo

    container_name: mongodb

    ports:

      - 27017:27017

    environment:

      - MONGO_INITDB_ROOT_USERNAME=root

      - MONGO_INITDB_ROOT_PASSWORD=example

    volumes:

      - ./data/db:/data/db

    networks:

      - network-mongo

    hostname: mongodb

# ----------------------------------------

  mongo-express:

    depends_on:

      - mongodb

    image: mongo-express

    container_name: mongo-express

    ports:

      - 27117:8081

    environment:

      - PORT=8081

      - ME_CONFIG_MONGODB_PORT=27017

      - ME_CONFIG_MONGODB_SERVER=mongodb

      - ME_CONFIG_MONGODB_ADMINUSERNAME=root

      - ME_CONFIG_MONGODB_ADMINPASSWORD=example

      - ME_CONFIG_MONGODB_URL=mongodb://root:example@mongodb:27017/

    networks:

      - network-mongo

    hostname: mongo-express

# ----------------------------------------

# ========================================

networks:

  network-mongo:

    driver: bridge

 

 

Docker Compose 명령을 실행하면 최신 이미지를 받아 컨테이너를 구성한다

blackdeer@Mac mongodb % docker-compose up -d  

[+] Running 19/19

 ✔ mongo-express 8 layers [⣿⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                      21.8s

   ✔ 6a428f9f83b0 Pull complete                                                                      1.7s

   ✔ f2b1fb32259e Pull complete                                                                     12.0s

   ✔ 40888f2a0a1f Pull complete                                                                     12.2s

   ✔ 4e3cc9ce09be Pull complete                                                                     12.2s

   ✔ eaa1898f3899 Pull complete                                                                     12.3s

   ✔ ab4078090382 Pull complete                                                                     18.2s

   ✔ ae780a42c79e Pull complete                                                                     18.2s

   ✔ e60224d64a04 Pull complete                                                                     18.2s

 ✔ mongodb 9 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                           36.8s

   ✔ 9d19ee268e0d Pull complete                                                                     10.4s

   ✔ 84c1327991fa Pull complete                                                                     10.4s

   ✔ 1feec59ecd14 Pull complete                                                                     11.0s

   ✔ 3af7480eaf55 Pull complete                                                                     11.1s

   ✔ d7524ee16ced Pull complete                                                                     11.1s

   ✔ f4742175eefc Pull complete                                                                     11.2s

   ✔ 9d688a8d9c18 Pull complete                                                                     11.2s

   ✔ b24ebfb25f44 Pull complete                                                                     33.1s

   ✔ 0ee52198e640 Pull complete                                                                     33.2s

[+] Running 3/3

 ✔ Network mongodb_network-mongo  Created                                                            0.0s

 ✔ Container mongodb              Started                                                            0.3s

 ✔ Container mongo-express        Started                                                            0.5s

 

 

컨테이너에 접근해본다.

blackdeer@Mac mongodb % docker exec -it   mongodb   /bin/bash  

root@mongodb:/# mongo  

bash: mongo: command not found

root@mongodb:/# mongosh   -u root   -p example  

Current Mongosh Log ID: 64afa30efd5fb964295551f8

Connecting to:          mongodb://<credentials>@127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.10.1

Using MongoDB:          6.0.7

Using Mongosh:          1.10.1

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

------

   The server generated these startup warnings when booting

   2023-07-13T07:01:43.903+00:00: vm.max_map_count is too low

------

test> show databases  

admin   100.00 KiB

config   60.00 KiB

local    72.00 KiB

MongoDB 6.0부터는 mongo 명령이 아닌 mongosh 명령으로 쉘을 실행한다.

 

mongosh 접속 관련 문서는 여기

https://www.mongodb.com/docs/mongodb-shell/connect/

 

Connect to a Deployment — MongoDB Shell

Docs Home → MongoDB Shell This page shows how to use the MongoDB Shell to connect to a MongoDB deployment.To use the MongoDB Shell, you must have a MongoDB deployment to connect to.You can use the MongoDB Shell to connect to MongoDB version 4.2 or greate

www.mongodb.com

 

 

 

웹브라우저로

http://localhost:27117/

(위는 도커 컨테이너가 localhost에서 돌아가고 있을 때의 예시)

로 접근하면 Mongo Express의 GUI로 DB를 볼 수 있다.

(docker-compose.yml에서 mongo-express의 내부 8081포트를 외부 27117로 포워딩했었다)

 

 

 

'Study > MongoDB' 카테고리의 다른 글

MongoDB 기초  (0) 2023.07.13
Comments

잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).

여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.

감사합니다. -현록

후원해주실 분은 여기로→