본문 바로가기
+ Application/Docker

[Docker] 도커(Docker) 저장소 변경(Root Dir)

by :: Teacher :: 2021. 2. 2.
728x90
반응형

도커(Docker)를 설치하여 사용하다 보면 저장된 이미지(image) 들을 관리하지 않는 경우 디스크 풀(Disk Full)이 발생할 수 있다.

도커를 기본으로 설치하면 /(root) 영역에 쌓이다 보니 OS 자체에도 영향이 있을 수 있다.

그래서 도커에 대해서 확인해보니 저장되는 위치를 변경할 수가 있다.

그럼 변경하는 방법을 한번 알아보도록 하자.

1. 기본 저장소 위치

일단 기본으로 저장소 위치는 /var/lib/docker이다.  

  • $ docker info | grep "Docker Root Dir"
# 도커(Docker) 기본 저장소 위치

$  docker info | grep "Docker Root Dir"
Docker Root Dir: /var/lib/docker

1. 기본 저장소 위치

2. 저장소 위치 변경

이제 디스크의 용량에 따라 혹은 스토리지로 연결된 디스크 이거나 여유가 있는 디스크로 저장소 위치를 변경해 보도록 하자. 

먼저 도커(Docker) 서비스를 내리도록 하자.

root 권한이 없는 경우 sudo를 통해서 진행해도 무방하다. 

2.1 도커(Docker) 서비스 중지

  • $ systemctl stop docker
# 도커(Docker) 서비스 중지

$ systemctl stop docker
Warning: Stopping docker.service, but it can still be activated by:
  docker.socket

2.1 도커(Docker) 서비스 중지

2.2 도커(Docker) 저장소 위치 생성

이제 도커(Docker)를 중지시켰으면 새롭게 저장소 위치로 가서 사용할 디렉토리를 생성하도록 하자.

# 도커(Docker) 새로운 저장소 위치 생성

$ mkdir docker_data
$ ls
docker_data  tmp

$ cd docker_data/
$ pwd
/home/info-lab/docker_data

2.2 도커(Docker) 저장소 위치 생성

2.3 도커(Docker) 저장소 위치 설정

새로운 디렉토리를 생성하였으니, 이제 도커(Docker) 저장소 위치를 설정하도록 하자. 

만약 /etc/docker 디렉토리에 daemon.json 파일이 없는 경우 새롭게 생성을 해주자.

  • $ cd /etc/docker
  • $ vi daemon.json
# 도커(Docker) 저장소 위치 설정

$ cd /etc/docker/
$ ls
key.json

$ vi daemon.json
{
"graph": "/home/info-lab/docker_data" <- 새롭게 생성한 디렉토리 위치
}

2.3 도커(Docker) 저장소 위치 설정

2.4 도커(Docker) 실행 및 확인

이제 저장소 위치를 변경하였으니 도커(Docker)를 실행하고 잘 변경되었는지 확인해보도록 하자. 

  • $ systemctl start docker
# 도커(Docker) 서비스 실행

$ systemctl start docker

2.4 도커(Docker) 실행

  • $ docker info | grep "Docker Root Dir"
# 도커(Docker) 기본 저장소 위치

$  docker info | grep "Docker Root Dir"
Docker Root Dir: /home/info-lab/docker_data

2.4 도커(Docker) 저장소 위치 확인

2.5 도커(Docker) Pull 확인

이제 마지막으로 변경된 저장소에 이미지 저장이 되는지 확인해보도록 하자.

# 도커(Docker) Pull

$ cd /home/info-lab/docker_data/

$ du -sh
132K	.

$ docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

$ docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
4c0d98bf9879: Pull complete
Digest: sha256:08d6ca16c60fe7490c03d10dc339d9fd8ea67c6466dea8d558526b1330a85930
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest

$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
alpine       latest    e50c909a8df2   4 days ago   5.61MB

$ du -sh
5.8M	.

2.5 도커(Docker) Pull 확인

이처럼 변경한 저장소 위치로 정상적으로 이미지 Pull이 되는 것을 확인할 수 있다. 

그러니 처음 구축할 때부터 가능하면 저장소 위치를 지정하여 사용할 수 있도록 하자. 

728x90
반응형

댓글


loading