본문 바로가기

DevOps/Docker

(4)
Docker 이슈 - no space left on device 도커로 환경을 구성했는데 로그가 많이 쌓여서 해당 인스턴스에 문제가 생겼다.
Docker 이슈 - 시스템 자원 부족 ( lack of system resources ) 현상 테스트 환경 t3.medium EC2에 docker container 10개 정도를 띄워놨었고 다음 날 출근을 해보니 instance status 가 죽어 있어서 모든 연결이 끊어졌다. 그래서 로그를 살펴보니 아래와 같은 것을 발견하였다. HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=4m40s450ms660µs405ns). 이 로그로 구글 검색을 해보면 대부분 답변이 시스템 자원이 부족해서라 한다. 시스템 자원 중에 어떤 부분이 부족하며? 이걸 방지할 수 있는 방법은 없을까? 아래 나오는 내용은 정답이 아니라 내가 스스로 검색한 부분이다. 잘못된 부분이나 잘 아신다면 댓글 부탁드립니다.... 도커의 자원을 제한..
Docker Image 가볍게 만들기 1. Layer를 적게 사용하자 먼저 같은 내용이지만 두가지 버전의 Dockerfile을 살펴보자 FROM ubuntu:14.04 RUN apt-get update -y # Install packages RUN apt-get install -y curl RUN apt-get install -y postgresql RUN apt-get install -y postgresql-client # Remove apt cache to make the image smaller RUN rm -rf /var/lib/apt/lists/* CMD bash FROM ubuntu:14.04 RUN apt-get update -y && \ apt-get install -y curl postgresql postgresql-clie..
Docker tag 잘 활용하기 Tip #1. Docker Tag를 명시적으로 관리하기 ( latest x )Docker Image 태그는 기본적으로 latest이기 때문에 따로 명시해줄 필요가 없어 편해보일 것이다. 이렇게 버전을 명시해주지 않으면, 변화를 추적하기 힘들고 Production 환경에서 무엇을 실행하였는지 판단하기 어렵다. Docker wiki에도 latest에 의존하지 않고 의미있는 tag를 사용하라고 되어 있다.Latest가 안정화된 latest 인지 개발중인 latest인지 판단할 수 없음 Latest가 항상 최신 버전임을 보장해주지 않음 Tip #2. Docker Tag 이름 잘 짓기 일단 dev, staging, prod 환경과 상관없이 하나의 docker repo를 가진다. env마다 repo를 하나씩 가진다..