테스트용 서버 도커라이징(Spring Boot, Mysql, Redis) - Docker Compose

jonghyukLee·2022년 9월 17일
1

오늘은 도커를 활용하여 테스트용 서버 환경을 구성해 보았습니다.

deploy.sh

REPOSITORY=/home/ec2-user/backend/

cd $REPOSITORY

echo "> Git Pull"
git pull

echo "> Docker Compose Down"
docker-compose down --rmi all

echo "> Docker Compose Up"
docker-compose up -d --build

dev 브랜치로 부터 pull, 기존 이미지 삭제 후 docker-compose up

docker-compose.yml

version: '3.8'
services:
  was:
    container_name: server
    build:
      context: /home/ec2-user/
    ports:
      - 8080:8080
    depends_on:
      - mysql
      - redis
    links:
      - mysql
      - redis
  mysql:
    container_name: mysql
    image: mysql:latest
    volumes:
      - /home/ec2-user/docker/mysql/conf:/etc/mysql/conf.d
      - /home/ec2-user/docker/mysql/lib:/var/lib/mysql
      - /home/ec2-user/docker/mysql/initdb.d:/docker-entrypoint-initdb.d
    environment:
      MYSQL_ROOT_PASSWORD: '0000'
    ports:
      - 3306:3306
  redis:
    container_name: redis
    image: redis:latest
    ports:
      - 6379:6379
  • services - 실행할 컨테이너 서비스들을 명시
  • was, mysql, redis - 서비스 이름
  • container_name - 컨테이너 이름
  • build - 도커파일 옵션
  • context - 도커파일 경로 (dockerfile 옵션으로 도커파일 이름도 명시할 수 있으나, 하나뿐이라 생략)
  • ports - 포트정보
  • depends_on - 의존관계를 설정하면, 입력한 하위 컨테이너들이 실행된 이후에 본 서비스가 실행됨
  • links - 컨테이너간 연결을 위해 link를 설정해준다. was와 mysql,redis 서버를 연결할 때 사용
  • image - 컨테이너가 실행될 이미지를 입력
  • volumes - 볼륨 연결
  • environment - 환경변수를 입력
profile
머무르지 않기!

0개의 댓글