Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- HBase
- leetcode
- go
- 알고리즘
- 파이썬
- Python
- redis
- codewars
- 리눅스
- dynamic programming
- OOM
- scala
- gradle
- boj
- 자바
- DP
- zookeeper
- 주키퍼
- Go언어
- 문제풀이
- Java
- docker
- 코드워
- 튜토리얼
- 동적프로그래밍
- programmers
- golang
- Linux
- 스칼라
- 프로그래머스
Archives
- Today
- Total
파이문
도커 컨테이너 로그 삭제 본문
728x90
docker container log가 계속 쌓여서 disk full 이 났다. 그래서 도커 컨테이너 내부 로그를 삭제 해야 했다.
스크립트로 만들기
도커 컨테이너 로그를 삭제하는 script를 만들었었다.
스크립트 예시
#!/bin/sh
CONTAINER=$1
LOG=$(docker inspect --format='{{.LogPath}}' "$CONTAINER")
echo "LogPath:" $LOG
echo "Ary you sure clear the all $CONTAINER logs? [y|n]"
read answer
if [[ $answer == "y" ]]; then
echo "Clear Logs!"
truncate -s 0 "$LOG"
fi
echo "Done"
인자 값에는 container id 를 넣어도 되고 container name 을 넣어도 된다.
실행은 아래 처럼 할 수 있다.
$ sudo ./<script-name>.sh <container_name>
crontab 에 추가하면 주기적으로 삭제도 가능 (대신 입력 y 를 받게 했기 때문에 crontab 에 추가할 때는 옵션을 줘야함)
바로 삭제하기
아니면 컨테이너 아이디 찾아서 바로 삭제도 가능
$ sudo sh -c "truncate -s 0 /var/lib/docker/containers/<cotainer-id>/<container-id>-json.log"
TMI
근데 사실 로그 파일을 컨테이너 외부에 쌓고 있었기 때문에, 내부에는 쌓일 필요가 없었고 쌓이면 안되었었음
알고보니까 로그를 console 로 찍고 있었던 것이었다. 데헷
그래서 표준 출력 안되게 바꾸고 위의 스크립트도 삭제했다는 그런 TMI
참고
stackoverflow.com/questions/42510002/how-to-clear-the-logs-properly-for-a-docker-container
'TIL' 카테고리의 다른 글
github action 알아보기 (docker 예시 포함) (0) | 2022.06.17 |
---|---|
[HBase] FilterList 에서 OR 조건 사용하기 (0) | 2021.02.22 |
gradle-ssh-plugin 사용하기 (0) | 2021.02.18 |
gradle proxy 설정 (0) | 2021.02.17 |
git rm 한 file 복구(reset, restore) 하기 (0) | 2021.02.16 |
Comments