개발/DevOps
Docker의 Root Directory 위치를 변경해보자.
leedonggeun
2023. 4. 24. 15:09
개발 중인 서버에 접근해보니 루트 디렉토리가 91% 사용 중이었습니다. (이미 조치해버려서 사진은 예시이다.)우리 회사는 KT 공공 클라우드를 사용 중에 있는데, 루트 디렉토리를 고작 17GB 밖에 안줍니다.
어쨌든, 도커의 루트 디렉토리 증설은 불가피했습니다.
01. 루트 디렉토리 설정 확인하기
docker info | grep Root 명령어로 Docker Root Dir이 /var/lib/docker임을 확인했습니다.
[root@abcd merged]# docker info | grep Root
WARNING: bridge-nf-call-ip6tables is disabled
WARNING: Running Swarm in a two-manager configuration. This configuration provides
no fault tolerance, and poses a high risk to lose control over the cluster.
Refer to https://docs.docker.com/engine/swarm/admin_guide/ to configure the
Swarm for fault-tolerance.
Root Rotation In Progress: false
Docker Root Dir: /var/lib/docker
02. 루트 디렉토리 설정 변경하기
도커의 설정은 /etc/docker/daemon.json를 변경하면 됩니다.
json 형식으로 작성하면 되며, data-root 요소를 작성합니다.
[root@abcd merged]# vi /etc/docker/daemon.json
{
"data-root": "/app/docker/overlay" # 변경하고자 할 디렉토리로 작성합니다.
}
03. 설정 변경 후 도커 재기동하기
[root@abcd merged]# systemctl restart docker
04. 루트 디렉토리 설정 재확인하기
docker info | grep Root 명령어로 다시 한번 확인합니다.
설정했던 바와 같이 /app/docker/overlay로 변경됨을 확인할 수 있습니다.
[root@abcd docker]# docker info | grep Root
WARNING: Running Swarm in a two-manager configuration. This configuration provides
no fault tolerance, and poses a high risk to lose control over the cluster.
Refer to https://docs.docker.com/engine/swarm/admin_guide/ to configure the
Swarm for fault-tolerance.
Root Rotation In Progress: false
Docker Root Dir: /app/docker/overlay
05. 마치며...
이상으로, 도커의 루트 디렉토리를 변경하는 법을 알아보았습니다.
최근 도커에 대해 하나둘 알아가며 느낀 점은, 굉장히 친숙해지기 어렵겠다... 와 익숙해지고, 능숙해진다면 굉장히 편리하겠다 라고 느끼고 있습니다.
조금 더 성장할 수 있는 계기가 되었으면 좋겠습니다!