728x90
mongodb와 mongo-express를 Docker Compose를 사용하여 실행하는 방법
Docker Compose를 사용하여 MongoDB와 Mongo Express를 쉽게 설정하고 관리할 수 있습니다.
1. Docker Compose 파일 생성
프로젝트 디렉토리에 Docker Compose 파일(docker-compose.yml)을 생성합니다.
vim docker-compose
2. Docker Compose 설정 추가
docker-compose.yml 파일에 MongoDB와 Mongo Express를 위한 서비스 정의를 추가합니다.
version: '3.9'
services:
### Mongodb Servers
mongo1:
image: anti1346/mongo:5.0.8
container_name: mongo1
restart: unless-stopped
env_file:
- .env
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
- TZ=Asia/Seoul
command: mongod --auth --replSet rs1 --keyFile /data/key/mongo.key --dbpath /data/db --bind_ip_all
volumes:
- ./mongodb/data-mongo1:/data/db
ports:
- 27017:27017
expose:
- 27017
networks:
- mongo-net
### mongo-express
mongo-express:
image: mongo-express:latest
container_name: mongo-express
restart: always
environment:
ME_CONFIG_MONGODB_URL: mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongo1:27017/
depends_on:
- mongo1
ports:
- 8080:8081
expose:
- 8081
networks:
- mongo-net
networks:
mongo-net:
3. 환경 설정(.env) 파일 생성
vim .env
#####MONGODB
MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=changeme
MONGO_INITDB_DATABASE=admin
MONGO_REPLICA_SET_NAME=rs0
#####MONGOEXPRESS
MONGO_ROOT_USER=root
MONGO_ROOT_PASSWORD=changeme
MONGOEXPRESS_LOGIN=root
MONGOEXPRESS_PASSWORD=changeme
728x90
4. mongodb 디렉터리 생성 및 권한 설정
mkdir mongodb
chown 999:999 mongodb
5. 컨테이너 실행
Docker Compose를 사용하여 컨테이너를 실행합니다.
docker-compose up -d
docker-compose ps
$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------
mongo-express tini -- /docker-entrypoint ... Up 0.0.0.0:8080->8081/tcp
mongo1 docker-entrypoint.sh mongo ... Up 0.0.0.0:27017->27017/tcp
6. Mongo Express 액세스(웹 브라우저 접속)
http://localhost:8080을 사용하여 Mongo Express에 액세스할 수 있습니다. 초기 로그인에는 MongoDB 루트 사용자 이름과 비밀번호를 사용합니다.
http://{serverip}:8080
MongoDB와 Mongo Express가 Docker 컨테이너에서 실행됩니다. MongoDB는 데이터베이스를 저장하고 Mongo Express는 MongoDB 데이터를 시각화하고 관리하는 데 사용됩니다. 설정을 조정하여 사용자 정의하고 필요에 따라 데이터베이스와 컬렉션을 추가할 수 있습니다.
728x90
'리눅스' 카테고리의 다른 글
[리눅스] PHP zip 확장(Extension) 모듈 설치 (0) | 2022.06.15 |
---|---|
[리눅스] dockerfile docker-php-ext-install, docker-php-ext-enable, docker-php-ext-configure 명령 (0) | 2022.06.13 |
[리눅스] mongodb secondary show dbs 에러 (0) | 2022.06.08 |
[리눅스] 애플 맥북 실리콘 M1에서 도커 빌드시 오류 (0) | 2022.06.07 |
[리눅스] 몽고디비 클러스터 구성하기(mongodb shard cluster) (0) | 2022.05.31 |