테스트 용도에 DB 및 nginx 구성요청이 왔다 별도의 config 파일 이나 셋팅 값들의 내용이 없어
단순하게 docker run 으로 진행 하려고 했으나 단일 서버에 컨테이너가 4개 가 실행되고
추후 버전 이나 다른 문제가 발생 할 수있어 docker-compose 로 셋팅하기로 했다
아무래도 yml 작성 시 정보 공유 및 다음번 요청에도 손쉽게 할 수 있어 다음과 같이 셋팅을 진행 하였다
version: "3.9"
services:
mariadb:
image: mariadb:10.9.4
container_name: "mariadb"
ports:
- 3307:3306
volumes:
- mariadb:/etc
restart: always
environment:
MARIADB_HOST: localhost
MARIADB_ROOT_PASSWORD: test!@
networks:
- db-network
mongodb:
image: mongo:6.0.2
container_name: "mongodb"
ports:
- 27017:27017
volumes:
- mongodb:/etc
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: test!@
networks:
- db-network
redis:
image: redis:7.0.5
container_name: "redis"
ports:
- 6379:6379
volumes:
- redis:/etc
restart: always
command: redis-server --requirepass password-test
networks:
- db-network
nginx:
depends_on:
- mariadb
- mongodb
- redis
image: nginx:1.22.0
container_name: "nginx"
ports:
- 8080:80
volumes:
- nginx:/etc
restart: always
networks:
- db-network
volumes:
mariadb:
external: true
mongodb:
external: true
redis:
external: true
nginx:
external: true
networks:
db-network:
external: true
redis 같은 경우에는 보안상 패스워드를 지정해 줘야 하지만 별도의 환경 변수를 찾지못했고
redis.conf 파일 생성 또한 안되어있어 command: redis-server --requirepass <패스워드>
추가하여 패스워드를 추가하였다.