[CICD] 도커 이미지 경량화하기 (CICD 구축기 2탄)
·
Server/Docker
현재 문제도커 이미지 사이즈가 점점 커지고 있다..! 서비스를 배포할 때 Amazon 에서 관리하는 이미지를 사용하고 있었다. 이미지 용량이 500MB를 넘어가면서, 무거운 이미지가 배포 속도를 느리게 만드는 건 아닐까? 하는 생각에 배포 과정을 개선해보기로 했다. 시도 과정흔히들 하는 실수중의 하나가 자바 런타임용 컨테이너를 만들때, 컴파일러가 포함된 JDK 환경을 사용한다는 것이다. 보통 자바 런타임은 JDK 없이 JRE 만 있어도 충분하다.출처: https://bcho.tistory.com/1356 [조대협의 블로그:티스토리] 1. 멀티 스테이지 빌드 도입 FROM gradle:8.9-jdk21-alpine AS build WORKDIR /app COPY . . RUN gradle build -x..
[CICD] 블루그린 배포로 변경하기 (spring + nginx + github action)
·
Server/Docker
현재 상황 - 무중단 배포를 적용한 이유[CICD 과정]코드 머지 → github action 실행 → 재배포현재 구조에서는 재배포할 때 기존의 docker container를 제거하고 새로운 container를 실행하는 과정에서 잠깐의 서버 다운타임이 발생한다. 개발할 당시엔 길어야 5초 정도 서버가 다운되는 것이라 큰 상관이 없지 않을까 생각했지만, 실제 서비스 환경에서는 잠깐이라도 서버가 다운되면 프론트엔드 요청을 처리할 수 없는 문제가 발생한다.이를 방지하기 위해 무중단 배포(Zero Downtime Deployment)를 적용하여, 배포 중에도 트래픽이 끊기지 않고 지속적으로 서비스를 제공할 수 있도록 개선하였다. 어떻게 해결할 수 있나?1. 롤링 배포(Roling Deployment)롤링 배포..
DOCKER SERVICE FAILED TO START UNRAID,DOCKER LOG SHOWS "FATAL ERROR: FAULT,[SIGNAL SIGSEGV: SEGMENTATION VIOLATION CODE=0X20 ADDR= PC=]"
·
Server/Docker
말도안되는 오류 docker run으로 컨테이너를 생성하려고 하면 오류 발생 > docker version update => 해결 x > docker desktop과 충돌인지 확인하기 위한 작업 => 해결 x > terminal 종료 => 해결 x > 컴퓨터 재부팅 => 해결 ㅇ
[Django] django-admin 명령어 사용하기 - 공부 내용 정리
·
Server/Django
Activate 후에 django-admin 명령어 사용할 수 있음 ✅django-admin startproject . : 현재 디렉토리에 디렉토리 생성 ✅python manage.py runserver : 서버 실행 명령어 ✅ http://127.0.0.1:8000/ 를 통해 접속함. Vscode에서 프로젝트 열기 터미널에서 \venv\Scripts\activate.ps1 파일을 로드할 수 없습니다. 오류가 발생한 경우 ✅Powershell 관리자 권한으로 실행 > Set-ExecutionPolicy Unrestricted 입력 > y 입력 ✅vscode에서 f1 > select interpreter > python 버전 선택 (이전에 생성했던 가상환경) > terminal창 새로 열고 확인 코드를 작..