FROM openjdk:17-jdk COPY build/libs/*SNAPSHOT.jar app.jar ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "/app.jar"]
services: api-server: build: context: . dockerfile: ./Dockerfile-prod ports: - 8080:8080 depends_on: cache-server: condition: service_healthy cache-server: image: redis ports: - 6379:6379 healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 5s retries: 10
$ git commit -m "{커밋 메시지}" $ git push
$ cd {프로젝트 경로} $ git pull origin main
$ sudo apt-get update && \ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \ sudo apt-key fingerprint 0EBFCD88 && \ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ sudo apt-get update && \ sudo apt-get install -y docker-ce && \ sudo usermod -aG docker ubuntu && \ newgrp docker && \ sudo curl -L "https://github.com/docker/compose/releases/download/2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \ sudo chmod +x /usr/local/bin/docker-compose && \ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose $ docker -v # Docker 버전 확인 $ docker compose version # Docker Compose 버전 확인
# Redis 중지 $ sudo systemctl stop redis $ sudo systemctl status redis # 잘 종료됐는 지 확인 # Spring Boot 종료 $ sudo lsof -i:8080 # 8080번 포트 실행되고 있는 프로세스 확인 $ kill {Spring Boot의 PID} # 프로세스 종료 $ sudo lsof -i:8080 # 잘 종료됐는 지 확인
$ ./gradlew clean build -x test $ docker compose -f compose-prod.yml up --build -d $ docker ps # 잘 띄워졌는 지 확인 $ docker compose logs -f # 실시간 로그 확인하기
