여기서는 멈추세요
- 명령 출력의 서버·서비스·경로가 예상 대상과 다르면 변경 단계로 넘어가지 않습니다.
- 현재 접속 세션, 백업 또는 콘솔 복구 경로를 확보하지 못했다면 상태 변경 명령을 실행하지 않습니다.
DOCKER STORAGE
SAFE OPERATING BOUNDARY
변경 전 설정과 출력값을 기록하고, 예상과 다른 결과가 나오면 추가 변경을 멈춘 뒤 승인된 운영 복구 절차로 되돌립니다.
BEFORE YOU START
CHECK THE BRANCH
다시 받을 수 있는 데이터처럼 보여도 현재 배포와 롤백에 필요한 태그인지 확인합니다.
DB·업로드 파일 등 영구 데이터일 수 있으므로 일괄 prune 대상에 포함하지 않습니다.
Docker daemon 전용 파일을 직접 수정하지 않고 max-size·max-file 회전 정책을 새 컨테이너에 적용합니다.
FOLLOW THE FLOW
호스트 전체 용량과 Docker가 계산한 사용량을 함께 봅니다.
docker system df -vdf -hT /var/lib/dockerRECLAIMABLE은 삭제 가능성을 뜻할 뿐 즉시 삭제해도 된다는 의미가 아닙니다.
가장 큰 유형과 운영 소유자를 기록합니다.
CONTAINER_NAME을 실제 컨테이너로 바꿉니다.
docker ps -a --size --format 'table {{.Names}}\t{{.Status}}\t{{.Size}}'docker inspect --format '{{.LogPath}}' CONTAINER_NAMEdocker inspect --format '{{json .HostConfig.LogConfig}}' CONTAINER_NAME컨테이너 writable layer와 로그 증가는 원인과 정리 방법이 다릅니다.
로그가 원인이면 애플리케이션 출력량과 회전 정책을 함께 확인합니다.
이름 없는 볼륨도 데이터일 수 있으므로 연결 컨테이너를 먼저 찾습니다.
docker volume lsdocker volume inspect VOLUME_NAMEdocker ps -a --filter volume=VOLUME_NAME --format '{{.Names}} {{.Status}}'연결 컨테이너가 없더라도 백업·이전 배포 데이터일 수 있습니다.
서비스 소유자와 보존 여부를 확인하기 전에는 삭제하지 않습니다.
daemon 기본값 변경은 기존 컨테이너에 자동 적용되지 않습니다.
docker info --format '{{.LoggingDriver}}'sudo sed -n '1,200p' /etc/docker/daemon.jsonjson-file에 max-size가 없으면 파일 크기가 제한되지 않을 수 있습니다. 설정값은 JSON 문자열 형식이어야 합니다.
설정 변경 전에 daemon.json 문법과 컨테이너 재생성 계획을 준비합니다.
docker system prune과 --volumes는 사용하지 않습니다. 아래 명령도 삭제 목록을 확인하고 프롬프트에 동의한 경우만 진행합니다.
docker image prune --filter 'until=168h'대화형 삭제 목록을 확인합니다.docker system df -vdocker inspect --format '{{json .HostConfig.LogConfig}}' CONTAINER_NAME필요한 이미지·컨테이너·볼륨이 유지되고 호스트 Use%가 낮아졌는지 확인합니다.
재발 방지는 애플리케이션 로그 수준과 max-size·max-file 정책으로 해결합니다.
PRIMARY REFERENCES
배포판과 버전에 따라 옵션·로그 위치가 다를 수 있습니다. 실행 전 서버의 --help와 로컬 매뉴얼을 함께 확인하세요.