Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

이열매의 메모장

도커 캐시 디렉토리 경로 변경 본문

Docker

도커 캐시 디렉토리 경로 변경

이열매 2019. 10. 31. 15:23

 

 도커 사용 시, 하나의 컨테이너가 실행되기 위해서는 여러 이미지(적어도 도커파일에서 정의한 RUN 명령어 개수만큼의)가 필요하다. 이 때, 해당 캐시는 /var/lib/docker기본 설정 경로로 저장이 되는데, 이미지 변경과 컨테이너 배포 및 삭제를 반복하게 되면 차지하는 용량이 어마어마하다. 심지어 루트 파티션의 용량이 적을 경우엔 tab키마저 먹지 않는 용량 문제에 접하게 된다.

 

 이러한 경우, 루트 파티션을 사용하지 못하도록 컨테이너 저장 경로를 바꿔줘야 한다. 경로를 변경하여 지정하는 방법에는 두 가지가 있는데, 1. 도커 데몬 설정 파일 변경2. 도커 실행 서비스 설정 변경 이 있다.

1번의 경우는 도커 데몬의 설정 파일에 경로를 넣어주는 것이고, 2번의 경우는 도커를 실행하는 명령어에 옵션을 자동으로 주도록 설정하는 것이다. 물론, 도커 공식 문서에서는 1번을 권장한다.

 

 

 

환경 간략 개요


 

  • OS : CentOS 7.4
  • Docker-ce : 19.03.4 

 

 


 

 

도커 경로 변경


 

 들어가기에 앞서, 도커의 기본 경로를 변경하기 이전에 사용하지 않는 캐시를 제거하기 위하여 다음과 같은 명령어를 실행한다.

 

$ docker system prune -af

 

 

1. 도커 데몬 설정 파일 변경

 

  • 데몬 설정 파일
$ vi /etc/docker/daemon.json

* 일전에 dockerd 명령어에 --config-file 옵션을 주었다면 /etc/docker/ 경로에 daemon.json 파일이 자동으로 존재한다.  만약 해당 파일이 존재하지 않다면 스스로 생성하자.

 

  • daemon.json 경로 변경
{
	"graph": "{절대 경로}"
}

* 경로 변경이 아니라 도커 공간 자체를 별도의 파티션으로 지정하고 싶을 경우, data-root 와 storage-driver 에 값을 설정하면 된다. 자세한 것은 공식 문서를 참조한다.

 

  • 도커 재시작
$ sudo systemctl restart docker

 

 

 

2. 도커 서비스 파일 변경

 

  • 도커 서비스 파일
$ vi /lib/systemd/system/docker.service

 

  • docker.service 옵션 추가
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock \
-g {절대 경로}

* 기존에 있던 ExecStart 에 추가로 -g 옵션을 주고 도커 볼륨 및 이미지, 컨테이너가 저장될 경로를 절대 경로로 입력한다.

 

  • 도커 재시작
$ sudo systemctl daemon-reload
$ sudo systemctl docker restart

 

 

 


참고 링크

 

 

'Docker' 카테고리의 다른 글

Docker Overview  (0) 2019.12.12
Docker - 3. 자동 빌드  (0) 2019.10.21
Docker - 2. 도커 사용하기  (0) 2019.10.14
쿠버네티스  (0) 2019.10.09
Docker - 1. 도커란  (0) 2019.10.08
Comments