Applications/LINUX

[Docker] Docker Root Dir 변경

CRAY KOREA Blog 2024. 3. 14. 13:59

 

Linux root(/) disk 공간의 부족으로 다른 파일시스템으로 Docker Root Dir을 변경하여 사용하는 경우 팁

 

"docker info" 명령 수행 시 설치된 docker의 정보를 확인할 수 있다.

[root@cray ~]# docker info | grep Root
 Docker Root Dir: /var/lib/docker

 

- /data 파일시스템에 docker_root 경로를 생성하고 설정을 변경한다.

 

- /data/docker_root 생성

[root@cray ~]# mkdir -p /data/docker_root

 

- Docker의 daemon.json 파일을 수정(없는경우 신규 작성해서 사용)

[root@cray ~]# ls -l /etc/docker
total 0
[root@cray ~]# vi /etc/docker/daemon.json
[root@cray ~]# cat /etc/docker/daemon.json
{
"data-root": "/data/docker_root"
}

 

- docker 서비스 재시작

[root@cray ~]# systemctl restart docker.service

 

- 변경된 docker 정보 및 docker_root 경로 확인

[root@cray ~]# docker info | grep Root
 Docker Root Dir: /data/docker_root
[root@cray ~]# ls -l /data/docker_root
total 44
drwx--x--x. 4 root root 4096 Mar 14 13:32 buildkit
drwx--x---. 2 root root 4096 Mar 14 13:32 containers
-rw-------. 1 root root   36 Mar 14 13:32 engine-id
drwx------. 3 root root 4096 Mar 14 13:32 image
drwxr-x---. 3 root root 4096 Mar 14 13:32 network
drwx--x---. 3 root root 4096 Mar 14 13:32 overlay2
drwx------. 4 root root 4096 Mar 14 13:32 plugins
drwx------. 2 root root 4096 Mar 14 13:32 runtimes
drwx------. 2 root root 4096 Mar 14 13:32 swarm
drwx------. 2 root root 4096 Mar 14 13:32 tmp
drwx-----x. 2 root root 4096 Mar 14 13:32 volumes
[root@cray ~]#

 

- 기존 /var/lib/docker 경로 삭제

[root@cray ~]# cd /var/lib
[root@cray lib]# rm -rf docker

 

- Docker 동작 확인

[root@cray ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@cray ~]# 
[root@cray ~]# docker pull determinedai/environments:cuda-11.8-pytorch-2.0-gpu-mpi-03ae7d7
[root@cray ~]# docker images
REPOSITORY                  TAG                                     IMAGE ID       CREATED      SIZE
determinedai/environments   cuda-11.8-pytorch-2.0-gpu-mpi-03ae7d7   1dbc430d1850   6 days ago   17.8GB
[root@cray ~]#

 

[sylee@cray ~]$ docker run -it determinedai/environments:cuda-11.8-pytorch-2.0-gpu-mpi-03ae7d7 /bin/bash

 

[root@cray ~]# df -h | grep data
/dev/sdc               916G  104G  766G  12% /data
overlay                916G  104G  766G  12% /data/docker_root/overlay2/55a046d5e83e30fa2d2370e533725225aa02bf5b9531a052639ff15f8bc93f3f/merged

 

# 참고: https://velog.io/@khyup0629/docker-%EB%A3%A8%ED%8A%B8-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EB%B3%80%EA%B2%BD-%EB%B0%A9%EB%B2%95%EB%8D%94-%ED%81%B0-%EC%9A%A9%EB%9F%89%EC%9C%BC%EB%A1%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98