2023-04-05 13:30:18
도커의 이미지는 예상은 하지만 역시나 용량이 크다.
필요없는 이미지를 정리하면서 사용하면서 사용하여 해결되면 좋겠으나, 원래부터 용량이 작다면 결국 새로운 디스크를 구매하게 된다.
sudo df -h
...
/dev/sdb2 228G 192G 25G 89% /
...
이렇게 250 GB의 SSD로는 필요없는 이미지를 주기적으로 지운다고 해도 애시당초에 용량이 부족한 셈이다.
그렇기에 새로운 디스크를 구매하고 이 디스크 내의 경로로 도커 이미지를 저장할 예정이다.
새로운 디스크의 파티션부터 포맷은 이 글을 참고.
/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
/etc/docker/daemon.json
파일을 수정하면 된다. 없다면 생성한다.
sudo vim /etc/docker/daemon.json
{
"data-root": "경로"
}
위 처럼 입력하고 서비스를 다시 켠다.
도커 서비스를 실행할 때 인수로 저장 경로를 지정하는 방식이다.
실행 시 --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