Menu

메모용 개발 블로그

전체보기 > OS > Linux >

도커 이미지 설치 위치 변경

2023-04-05 13:30:18

도커의 이미지는 예상은 하지만 역시나 용량이 크다.

필요없는 이미지를 정리하면서 사용하면서 사용하여 해결되면 좋겠으나, 원래부터 용량이 작다면 결국 새로운 디스크를 구매하게 된다.

sudo df -h
...
/dev/sdb2       228G  192G   25G  89% /
...

이렇게 250 GB의 SSD로는 필요없는 이미지를 주기적으로 지운다고 해도 애시당초에 용량이 부족한 셈이다.

그렇기에 새로운 디스크를 구매하고 이 디스크 내의 경로로 도커 이미지를 저장할 예정이다.

새로운 디스크의 파티션부터 포맷은 이 글을 참고.

리눅스 하드디스크 연결(Parted)

/dev/sdc1       1.8T   28K  1.7T   1% /mnt/ssd1

새롭게 구매한 디스크는 /mnt/ssd1에 마운트 해놓았다.

기존 이미지 저장 위치 확인

기존 저장 위치는 /var/lib/docker위치에 저장된다.

더 확실하게 알고 넘어가고자 한다면 docker info 명령어를 통해서 알 수 있다.

sudo docker info | grep Dir

위 명령어를 입력하면 아래처럼 결과가 나온다.

Docker Root Dir: /var/lib/docker

이미지 저장 위치 변경

변경에는 두 가지 방법이 있으니 편한 것으로 변경하면 된다.

안정적인 작업을 위하여 시작전 도커 서비스를 내린다.

sudo systemctl stop docker

1. 설정 파일

/etc/docker/daemon.json파일을 수정하면 된다. 없다면 생성한다.

sudo vim /etc/docker/daemon.json
{
  "data-root": "경로"
}

위 처럼 입력하고 서비스를 다시 켠다.

2. 실행 인수

도커 서비스를 실행할 때 인수로 저장 경로를 지정하는 방식이다.

실행 시 --data-root옵션에 경로를 추가하면 된다.

sudo vim /lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=경로

서비스 설정을 변경하였으므로 다시 불러와야한다.

sudo systemctl daemon-reload

도커 재시작

sudo systemctl start docker

이후 제대로 적용되었는지 확인하고 기존의 컨테이너들도 다시 올려서 정상 동작하는지 반드시 확인한다.

sudo docker info