Docker 로그 파일 용량 제한

IntroDocker 컨테이너를 오래 실행하다 보면 로그 파일이 계속 쌓이면서 디스크 공간을 차지하는 문제가 발생한다.Docker의 기본 로그 드라이버는 json-file이며, 별도로 설정하지 않으면 로그 파일 크기 제한 없이 계속 증가한다. 결국 서버의 디스크가 꽉 차서 장애가 발생할 수도 있다. 이를 방지하려면 로그 파일의 크기를 제한하는 설정을 적용하는 것이 중요하다.끝없이 커진 로그파일이 결국 장애를 일으켜버렸다.이번 글에서는 Docker 컨테이너의 로그 파일 크기를 제한하는 방법과 기존 로그 파일을 정리하는 방법, 그리고 Docker Compose에서 설정하는 방법까지 알아본다.Docker 로그 크기 제한Docker 로그 크기 제한 방법은 크게 3가지로 나뉜다.개별 컨테이너 실행 시 로그 제한 ..

Development/DevOps 2025.03.12
Docker 이미지 빌드실패 (CentOS 7 EOL) Dockerfile 수정

문제 상황최근 CentOS 7을 기반으로 한 프로젝트를 Docker 환경에서 빌드하려다가 문제가 발생했다. 빌드 과정에서 yum 명령어로 패키지를 설치하려고 하면 연결 오류가 발생하며 실패하는 상황이었다. 문제를 살펴보니 CentOS 7이 EOL(End of Life)에 도달하면서 공식 미러에서 패키지 다운로드가 더 이상 지원되지 않는 것이 원인이었다.CeontOS 7 베이스가 404를 응답한다CentOS의 EOL다들 알고 있는 것처럼 CentOS는 Red Hat Enterprise Linux(RHEL) 기반의 무료 운영 체제다. 하지만 최근 몇 년 동안 CentOS 프로젝트는 큰 변화를 겪었다. 특히 CentOS 8의 EOL 선언과 함께 CentOS Stream으로의 전환이 큰 논란을 불러일으켰다. C..

Development/DevOps 2024.11.21
각 서버의 `.zshrc` 파일을 자동으로 백업하기

Intro여러 개의 서버를 관리하다 보면 환경 설정 파일들이 여기저기 흩어져 관리하기 복잡해진다. 특히 .zshrc 나 .bashrc 같은 셸 설정 파일은 여러가지 도구와 플러그인, alias를 관리하는 파일이라서 해당 파일 내용을 잃어버리거나 실수로 덮어쓴다면 굉장히 번거로워진다.개인적으로는 이 문제를 해결하기 위해 .zshrc 파일을 Git 리포지토리에 자동으로 백업하는 시스템을 만들었다. 한번 시스템을 구축해두니, 가끔 쉘 설정 파일 편집한 날에는 새벽에 자동으로 백업이 되어 있으니 매우 편해서 해당 내용을 공유해보려한다.이번 글에서는 cron 스케줄링을 활용해 각 서버에서 .zshrc 파일을 매일 자동으로 백업하는 방법을 차근차근 설명해 보겠다.Git 리포지토리리포지토리 생성 및 SSH 키 등록백..

Development/DevOps 2024.11.18
`git stash`로 변경 내용을 보관한 뒤에 브랜치를 삭제하면 어떻게 될까?

Intro개발하다 보면 작업 중인 변경 사항을 일시적으로 보관하고 브랜치를 이동하거나 삭제해야 할 때가 있다. 이때 보통 git stash를 이용해 변경 사항을 임시 저장하는데, 만약 스태시해 둔 상태에서 브랜치를 삭제하면 어떻게 될까? 혹시 스태시한 작업이 사라지지는 않을까? 이번 포스트에서는 git stash와 브랜치 삭제의 관계를 알아본다.git stashgit stash는 현재 작업 중인 변경 사항(커밋되지 않은 파일 및 수정된 파일)을 임시 저장해 두는 기능이다. 이때 스태시는 브랜치에 의존하지 않고, 저장된 작업은 저장소 내에 독립적으로 유지된다. 즉, 특정 브랜치에서 git stash를 사용해도 이 스태시 항목은 브랜치가 아닌 저장소 자체에 저장되기 때문에 다른 브랜치로 이동하거나 브랜치를 ..

Development/DevOps 2024.11.13
카카오 로그인 연동 과정 소개 및 스프링 예제 코드

Intro 요즈음 간편 로그인은 대세를 넘어 필수로 자리잡았다. 서비스를 개발하는 입장에서도 고객의 아이디와 암호를 보관하는 부담이나 복잡한 인증 시스템을 개발하는 수고를 덜을 수 있기 때문에 안쓸 이유가 없다. 다만, 간편 로그인의 워크플로는 서비스마다 조금씩 다르고 기존에 학습했던 인증 시스템과는 다른 개념이기 때문에 어느정도 전체적인 워크플로를 파악하는게 선행되어야 한다. 이번 글에서는 카카오 로그인을 활용한 간편 로그인을 개발하며 살펴본 전체적인 흐름에 대해 각 단계별로 간략이 정리해보려한다. 가장 좋은건 카카오가 제공하는 문서 를 참고하는 것이다. 카카오 공식 문서가 아주 잘 작성되어 있으나 본인이 초보자라 무슨말인지 잘 모르겠다 하면 이 글로 코드와 함께 전체적인 흐름을 파악해보자. 준비 카카..

Development/DevOps 2024.03.14