[Docker] Docker 컨테이너 생성과 삭제 이력 추적하는 방법
·
개발 (Development)/Docker
업무 중 컨테이너가 갑자기 사라진 상황을 겪었다. 그래서 Docker 컨테이너의 생성 및 삭제 이력을 확인할 수 있는 방법을 찾아야 했다. 이 과정을 정리해본다.1. Docker 기본 명령어 한계처음에는 docker ps -a 명령어를 사용해봤다. 이 명령어로는 종료된 컨테이너까지는 확인할 수 있었지만, docker rm 명령어로 삭제된 컨테이너는 이력조차 남지 않는다는 사실을 알게 되었다.2. 시스템 로그(journalctl)로 확인Docker 데몬이 남긴 시스템 로그를 확인하면 컨테이너 생성과 삭제 흔적을 찾을 수 있었다.journalctl -u docker.service추가로 grep을 사용해서 컨테이너 관련 로그만 필터링했다.journalctl -u docker.service | grep 'con..
[Docker] Dockerfile에서 chown이 동작하지 않을 때, 의외의 원인과 해결법
·
개발 (Development)/Docker
회사 프로젝트의 Dockerfile 작업 중 RUN chown -R $USERNAME:$USERNAME /usr/app/logs 명령이 실행되었음에도 불구하고, 컨테이너 내부에서 해당 디렉토리의 소유권이 바뀌지 않는 이상한 현상을 겪었다. 겉보기엔 명령어에 문제가 없어 보였지만 실제로는 여러 요인이 복합적으로 작용하고 있었다. 아래는 이 문제를 해결해 나간 실제 과정을 단계별로 정리한 기록이다.$USERNAME 변수 인식 여부 확인가장 먼저 의심한 건 $USERNAME 변수였다. Dockerfile에서 $USERNAME이 제대로 지정되지 않았거나 ARG 또는 ENV로 설정되지 않았다면, 해당 명령은 무시되거나 root:root로 적용될 수 있다.# 더 안전한 방식RUN chown -R myuser:myu..
[Docker] Docker 로그 필터링 - grep 사용 시 문제와 해결 팁
·
개발 (Development)/Docker
Docker 로그에서 grep 명령어가 작동하지 않는 이유와 해결 방법Docker 로그를 확인하다 보면 특정 키워드만 검색하고 싶은 경우가 많습니다. grep 명령어는 일반적으로 로그 검색에 사용되지만, 도커 로그에서는 의도대로 작동하지 않을 때가 있습니다. 이번 글에서는 이 문제의 원인과 해결 방법에 대해 알아보겠습니다.문제 상황docker logs 명령어로 로그를 출력한 뒤 grep을 사용했을 때, 결과가 예상대로 나오지 않을 수 있습니다. 예를 들어docker logs container_dev | grep exception위 명령어가 제대로 동작하지 않는 경우가 있습니다. 이 문제는 docker logs가 출력하는 로그 스트림의 특성과 관련이 있습니다.원인Docker 컨테이너의 로그는 기본적으로 두..