▶︎ 개요
Docker가 저장되는 기본 Path를 변경해보려 한다.
현재 본인의 경우 블로그 및 게임 서버를 위해 미니PC를 구입하였고
Proxmox VE를 이용하여 여러 대의 VM을 생성해 서버들을 구축하고 있다.
현재 게임 서버용 가상 머신의 Main data storage에는 40GB가 할당되어 있고
추가로 디스크를 붙여주는 방식으로 확장을 고려하고 있는데
이 때, 만약 Docker가 Main storage에 설치되고 계속 운영이 된다고 가정했을 때
main storage를 세세하게 관리해주지 않으면 Disk full 상황이 발생할 수 있게 된다.
Docker는 기본적으로 root Directory
영역을 이용하기 때문에 이러한 사태가 발생하게 되면 서버 자체에 문제가 발생하게 될 가능성이 높다.
이러한 문제를 예방하고자 Sub Data Storage
를 HDD로 준비하여 1TB를 할당해주고 이 곳에 Docker Data가 쌓일 수 있도록 변경해보려고 한다.
▶︎ Docker
‣ 저장 위치
서버에 추가된 1TB Disk의 마운트 경로에 저장될 수 있도록 변경하려고 한다.
df -hT | grep 'zfs'
작업을 위해 Docker service를 중지 시키자.
sudo systemctl stop docker.service
이제 도커 저장 위치를 변경 해보도록 하자.
mkdir -p /data/docker
위와 같이 저장할 디렉토리를 만들어주자.
그리고 기존에 Docker 데이터를 /data/docker
로 옮겨주도록 하자.
# mv {기존 Docker 저장소 Path} {새롭게 변경할 저장소 Path}
mv /var/lib/docker /data/docker
그리고 /etc/docker
로 이동하여 daemon.json
파일이 있는지 확인하자.
cd /etc/docker
find . -name "daemon.json" 2>/dev/null
파일이 없다면 만들어주자.
touch /etc/docker/daemon.json
그리고 아래와 같이 새롭게 저장할 디렉토리 위치를 명시해주면 된다.
/etc/docker/daemon.json
{
"data-root": "/data/docker"
}
그리고 다시 Docker Daemon을 기동시켜주자.
sudo systemctl start docker.service
마지막으로 아래 명령어를 실행해 도커 저장 위치가 정상적으로 변경 되었는지 확인해보자.
docker info | grep "Docker Root Dir"