[해결방안] docker를 운영하다 용량이 꽉찼을때

개요

멜론 빅데이터 쪽 docker 사용 장비에서 /var/lib/docker 하위 경로로 인해 해당 마운트의 디스크가 꽉 찼다는 연락을 받았다. 이에 따라 해결책을 모색한 뒤 포스팅 한다.

해결책

안쓰는 이미지와 컨테이너 삭제하기

아래 명령어로 안쓰는 이미지와 컨테이너를 삭제 할 수 있다. 자세한 사용법은 링크를 참고한다.

1
$ docker system prune -a -f

docker 기본 경로 바꿔주기

docker가 이미지/컨테이너 등등을 유지하기 위해 사용하는 경로는 /var/lib/docker/ 이다. 이경로를 이참에 넉넉한 용량이 마운트되어 있는 경로로 바꾸어준다.

centos기준 17.06.0-ce에서는 /lib/systemd/system/docker.service파일을 수정해주면 되었다.

(아마 대부분 상용장비로는 centos를 운영하니 설명에 문제는 없을듯 하지만 그 이외의 경우라면 검색으로 관련 파일을 찾아야 한다.)

1
2
3
4
5
6
7
$ vi /lib/systemd/system/docker.service
[Service]
...
ExecStart=/usr/bin/docker daemon -g /원하는디렉토리
$ sudo service docker stop
$ sudo systemctl daemon-reload
$ sudo service docker start

검증하기

docker를 재시작 하고 아래와 같이 바뀐 경로에 기본 구성이 생기면 제대로 설정이 된 것이다.

1
2
3
$ docker pull alpine:3.4 # 작은용량은 이미지를 다운받아 정상 동작을 확인
$ ls /원하는디렉토리
containers  image  network  overlay  plugins  swarm  tmp  trust  volumes


Popit은 페이스북 댓글만 사용하고 있습니다. 페이스북 로그인 후 글을 보시면 댓글이 나타납니다.