본문 바로가기

Programing/Linux

[완료] Docker 설정 _ 저장소 위치변경 (용량 분배)

리눅스 OS를 설치할때 별도로 /var 파티션을 할당 했음에도 불구하고

몇가지 Docker 이미지를 다운하다보니 

용량이 없다는 에러메세지를 맞닥들였다.

용량이 많은 서버를 사용하거나 PWS(WKS)을 쓸 경우 굳이... 설정을 할필요는 없지만

노트북 사용으로 해당 파티션에 용량이 부족하거나,

개인적으로 별도 파티션에 정리&저장하고 싶을 경우 Docker의 Root 디렉토리를 변경하면 손쉽게 해결이 가능하다.


failed to register layer: Error processing tar file(exit status 1): write /opt/conda/pkgs/pytorch-1.3.0-py3.6_cuda10.1.243_cudnn7.6.3_0.tar.bz2: no space left on device. See 'docker run --help'


#1. Docker Daemon 실행 상황 확인

#2. Docker 의 현재 경로 확인

#3. Docker Daemon 실행 시 데이터 디렉토리 지정

#4. Docker Daemon 재시작 & Root Dir 확인





#1. Docker Daemon 실행 상황 확인

      : 도커 데몬의 실행 관련 내용을 볼 수 있다.


$ ps aux | grep dockerd

  ->USER    PID    %CPU  %MEM    VSZ          RSS        TTY     STAT   START   TIME  COMMAND

      root     5590  0.6        0.6         1871116  107148  ?         Ssl       14:47    3:07  /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock




#2. Docker의 현재 경로 확인


$ docker info | grep Root

 -> Doker Root Dir : /var/lib/docker




#3. Docker Daemon 실행 시 데이터 디렉토리 지정 (*dockerd --help  >>  --data-root string 옵션 사용)


[Root Dir 설정 전]

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-11-10 14:47:04 KST; 8h ago
     Docs: https://docs.docker.com
 Main PID: 5590 (dockerd)
    Tasks: 23
   CGroup: /system.slice/docker.service
           └─5590 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock


[Root Dir 설정]
$  sudo nano /lib/systemd/system/docker.service 
-> ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=
/code/docker_data/

[Root Dir 설정 후]

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-11-10 14:47:04 KST; 8h ago
     Docs: https://docs.docker.com
 Main PID: 5590 (dockerd)
    Tasks: 23
   CGroup: /system.slice/docker.service
           └─5590 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/code/docker_data/




#4. Docker Daemon 재시작 & Root Dir 확인


$ sudo service docker restart

  -> $ sudo service docker stop

      $ sudo service docker start


$  docker info | grep Root

   -> Docker Root Dir : /code/docker_data/