안녕하세요^^
오랫만에 찾아온 @gijoona 입니다.
다들 잘 지내고 계신가요?
...네! 그렇습니다. 제목은 어그로입니다. 그냥 있어보이게 써본거죠(뭐요? 왜요? 뭐! 뭐!)
오늘은 매일 열심히 글을 적어주시는 naknak이 컨디션 난조로 쓰러져있어서 제가 글을 쓰게 되었네요.
개발자니... NestJS로 개발 중 Docker를 사용하고 있는데 발생했던 오류에 대한 썰을 풀어보겠습니다.
(그걸 위한 제목...ㅎㅎㅎ)
저는 개발을 할 때 docker를 종종 이용하는 편입니다.
거기에는 여러가지 이유가 있...던가? 여튼 편해서 입니다. ㅋㅋㅋ
특히 Database를 사용해서 테스트를 진행할 경우 docker hub에서 해당 DB Image를 가져와서 컨테이너로 띄우기만 하면 되는데... 그건 이세상 편함이 아니죠^^
여튼 DB용 컨테이너는 거의 start / stop만 하고 backend는 소스 수정을 반영해야하니 backend 정도만 새로 빌드해서 컨테이너를 띄우고는 했는데 이번에 여러 서비스를 컨테이너로 띄우고 개발 초기다보니 매번 하나씩 다들 내렸다올렸다 하다보니 겁나 귀찮아져서 DB 포함 전체 컨테이너를 일괄로 다 내렸다 올렸다 했습니다.
그러다 어느 순간!!! 아니 이게 뭔 일이야? 갑자기 DB 컨테이너가 오류를 내며 그냥 죽는 겁니다.
뭐지? 왜그러지? 왜그러는데? 미친건가??!!를 외치며 소스가 잘못되었는지 뒤지고 버전에 문제가 있나? 찾아보고... 30분 정도 머리를 쥐어뜯다가 log를 보니 no space lift on device 라는 문구가 뙇! 적혀있더군요. (아나... 왜 바로 log 볼 생각을 못했지? )
네... 그렇습니다. 제가 별도의 volume 설정을 하지 않아서 테스트하면서 임의로 생성되고 있던 volume들이 가득차다 못해 docker에 할당된 용량을 다 잡아 먹고 있었던 거죠. volume rm 명령어로 싹 다 제거했더니 해결! 하아... 나의 30분....
이상 저의 삽질 썰이었습니다.
사용한 명령
docker logs -f 컨테이너명 : 해당 컨테이너의 콘솔로그를 출력
docker volume rm $(docker volume ls -q) : docker의 volme list를 가져와 삭제
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
역시.... 삽질은 개발의 꽃이죠!! ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit