본문 바로가기

Docker

컨테이너 용량이 계속해서 증가하는 문제에 대한 해결책 안녕하세요.일평균 접속이 100,000건 이상, 동시접속이 1,000건 이상인 어린이집 출결관리 시스템을 운영 중에 알 수 없는 문제가 발생하였습니다. 문제문제는 컨테이너 용량이 계속해서 증가한다는 것이었는데요. 초기에는 원인 파악이 어려워 일단 호스트 파티션 용량을 늘려 조치를 하고 원인을 분석한 결과 문제는 Docker 이미지의 /tmp 디렉토리였습니다. 저희는 AWS S3를 사용하고 있으니 용량 문제는 발생하지 않을 거라고 생각했지만, 사실 어린이집에서 업로드하는 영상이나 사진들이 모두 호스트를 거쳐 S3에 업로드되는 구조다 보니 임시 파일(/tmp)이 계속해서 쌓이더군요. 더군다나 리눅스에서 /tmp 경로는 시스템이 재부팅될 때 청소가 된다고 하니 무중단 시스템에서는 정기적으로..
호스트 디스크 용량이 갑자기 부족한 경우 서론 저희가 유지보수를 하는 고객사 시스템은 대부분 AWS EC2 인스턴스에서 Docker를 기반으로 구축되어 구동되고 있습니다. 간혹 디스크 용량이 100%에 임박하는 경우가 발생하는데 저희 서비스는 파일을 S3에서 관리하도록 개발되기 때문에 디스크 용량이 부족할 수가 없는 경우라 난감한 경우가 있었습니다. 원인 원인 분석 결과 Docker에서 구동중인 컨테이너에서 발생한 로그가 제한(max-size) 없이 계속 쌓이다 보니 디스크 용량을 지속적으로 갉아먹고 있던 문제였고, 다른 서비스 또한 시간이 지나면 같은 문제를 만날 수 밖에 없는 상황이었습니다. 결론 결론적으로 개별 컨테이너에 로그 용량 제한을 걸면 되는데요. 해결방법은 아주 단순합니다. 적용 즉시 max-size를 초과하는 모든 로그가 삭제되..
Ubuntu에 Docker 및 Docker compose 설치하기 이 글에서는 Ubuntu 20.04 기준 Docker 및 Docker compose 설치하는 방법을 다룹니다. 사전 작업 가장 먼저 패키지 목록을 업데이트 해 줍니다. sudo apt-get update 다음으로 Docker의 공식 GPG-KEY를 등록합니다. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 다음으로 Docker Repository를 등록합니다. echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://downlo..