개인 프로젝트 진행/이커머스 작업
docker 설정
레알윙
2023. 5. 29. 15:09
반응형
https://github.com/rlawls1991/commerce/tree/main/docker
docker를 이용하여 MySQL 서버 및 Redis 서버를 관리하고자 한다.
버전은 3버전을 선택했으며, docker 이미지는 biarms/mysql 5.7 및 redis 5.08버전을 사용하기로 하였다.
그리고 MySQL 같은 경우 Master/Slave 구조로 작성하였다.
version: '3'
services:
mysql-master:
image: biarms/mysql:5.7
volumes:
- ./sql/mysql_db/master:/mysql
- ./sql/commerce/review:/review
- ./sql/commerce/product:/product
- ./sql/commerce/user:/user
- ./sql/commerce/escrow:/escrow
- ./seeding_m1.sh:/docker-entrypoint-initdb.d/seeding.sh
- ./db/conf/master:/etc/mysql/conf.d
environment:
- TZ=Asia/Seoul
- MYSQL_ROOT_PASSWORD=1234
- MYSQL_DATABASE=user
- MYSQL_USER=app_commerce
- MYSQL_PASSWORD=test1234
ports:
- "53060:3306"
networks:
- docker-net
mysql-slave:
image: biarms/mysql:5.7
volumes:
- ./sql/mysql_db/slave:/mysql
- ./sql/commerce/review:/review
- ./sql/commerce/product:/product
- ./sql/commerce/user:/user
- ./sql/commerce/escrow:/escrow
- ./seeding_m1.sh:/docker-entrypoint-initdb.d/seeding.sh
- ./db/conf/slave:/etc/mysql/conf.d
depends_on:
- mysql-master
environment:
- TZ=Asia/Seoul
- MYSQL_ROOT_PASSWORD=1234
- MYSQL_DATABASE=user
- MYSQL_USER=app_commerce
- MYSQL_PASSWORD=test1234
ports:
- "53070:3306"
networks:
- docker-net
redis-cluster:
image: redis:5.0.8
volumes:
- ./redis:/redis
environment:
- START_PORT=30001
- END_PORT=30003
- TIMEOUT=1000
- REPLICAS=0
- PASSWORD=1234
ports:
- "30001-30003:30001-30003"
entrypoint: /redis/docker-entrypoint.sh
networks:
- docker-net
networks:
docker-net:
driver: bridge
우선 스키마를 실제 운영에서 사용하는 것처럼 review, escrow, product, user 스키마로 분류를 하였다.
위와같이 분류한 이유는 실제 위메프에서 배웠던 내용들을 사용하고 있다.
(스키마가 다른 경우 API를 이용하여 데이터 조회)
반응형