Docker 기본 데이터 디렉토리 변경

Docker IT SERVER

개발용으로 사용중인 서버 메인 디스크 용량이 100%가 되는 바람에(!) 작동이 원활하지 않아서 로그 디렉토리를 확인해보니 로그 용량 문제도 아니고 뭔가 싶어서 확인해보니 docker volumes의 용량이 디스크 대부분을 차지한 것이다.

검색 해보니 기본 데이터 디렉토리를 변경해주면 되는지라 일단 도커 프로세스를 종료시켰다.
/etc/docker/daemon.json의 내용에 다음과 같이 추가해줬다.

{
  "data-root": "/docker/data/path"
}

그리고 기본 디렉토리인 /var/lib/docker을 다른 디스크로 위치시켰다.
편의상 위의 코드처럼 /docker/data/path라고 하자.

도커를 시작시켰더니 프로세스가 잘 올라오고 컨테이너도 잘 뜨긴 하는데, DB가 정상적으로 올라오지 않는 것이다.

이런저런 삽질 끝에 정상화 시켰다.
원인은 cp -rf /var/lib/docker /docker/data/path 명령어로 데이터를 복사 해줬었는데, 퍼미션 문제가 있었던 것 같다.
rsync -avz /var/lib/docker /docker/data/path 명령어로 복사해준 뒤 daemon.json 에서 path 설정을 해주고 재시작 해서 해결 되었다.

끝.