컨테이너 Log 용량 문제 해결하기

도커는 기본적으로 컨테이너 로그 용량 제한이 없어 예상치 못하게 디스크가 꽉차는 경우가 생깁니다.

이번에는 로그를 정리하고 용량 제한을 하는 방법을 알아보겠습니다.  

 


컨테이너 로그 정리하기

 

# 컨테이너 디렉토리 이동
cd /var/lib/docker/containers/<컨테이너ID>

# 기존 로그 정리하기
truncate -s 0 ./*.log

전체 컨테이너 로그 용량 제한

 

daemon.json 파일 생성

nano /etc/docker/daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

 

도커 재시작

sudo systemctl restart docker

개별 컨테이너 실행 시 로그 용량 제한

 

도커 옵션으로 설정

docker run -d --name <컨테이너이름> \
  --log-driver json-file \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  <이미지>

마무리

 

잘못된 점이 있거나 궁금한 점이 있다면 언제든지 문의해주시기 바랍니다!

728x90
반응형

 

Docker 와 Portainer 설치하기


Docker 설치

sudo apt-get update

sudo apt-get install ca-certificates curl gnupg lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

docker #sudo 없이 사용

sudo usermod -aG docker <사용자명> # 우분투 사용자명으로 권한 변경 ex) sudo usermod -aG docker root

sudo reboot # 리부팅

 

위와 같이 명령어를 순차적으로 입력하여 Docker를 설치합니다.


Portainer 설치

sudo mkdir -p /data/portainer

docker run --name portainer -p 9000:9000 -d --restart always -v /data/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce

 

Docker가 설치 완료되었으면 위 명령어를 사용하여 Portainer도 설치합니다.


Portainer 접속

 

브라우저를 열어서 아래 주소로 Portainer에 접속할 수 있습니다.

http://<Portainer 설치된 IP주소>:9000/

마무리

 

잘못된 점이 있거나 궁금한 점이 있다면 언제든지 문의해주시기 바랍니다!

728x90
반응형

 

컨테이너 콘솔에 접속하기


컨테이너 ID 또는 컨테이너 이름 조회

docker ps -a

 

먼저 콘솔에 접속하기전에 접속할 컨테이너 정보를 알아야 하기 때문에 위와 같이 명령어를 입력해줍니다.

CONTAINER ID   IMAGE                                     COMMAND                  CREATED       STATUS       PORTS                                                           NAMES
fca9c2189ab1   portainer/portainer-ce                    "/portainer"             2 days ago    Up 2 days    8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer

 

그럼 위와 같이 CONTAINER ID 또는 NAMES 항목을 확인할 수 있습니다.


컨테이너 접속하기

docker exec -it fca9c2189ab1 /bin/bash

 

방금전 확인한 정보로 위에 명령어를 사용하여 컨테이너에 접속할 수 있습니다.


마무리

 

잘못된 점이 있거나 궁금한 점이 있다면 언제든지 문의해주시기 바랍니다!

728x90
반응형

+ Recent posts