새소식

⇥ DevOps Tech 🙋🏻‍♀️/✏️ Cloud

[docker] image & container 생성 경로 변경

  • -
반응형

도커를 설치하면 기본 경로는 /var/lib/docker 로 설정되어 있다.

따라서 조금 사용하다보면 / 경로의 용량을 모두 잡아 먹어 no space left on device 에러가 발생한다.

따라서 경로를 변경해보자.

 

docker info | grep Root

Docker Root Dir:  /var/lib/docker

기본 경로로 잡혀있는 것을 확인할 수 있다.

 

service docker status

Redirecting to /bin/systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since 화 2021-06-22 14:05:34 KST; 3 weeks 3 days ago
     Docs: http://docs.docker.com
 Main PID: 20641 (dockerd-current)
    Tasks: 49
   Memory: 1.1G
   CGroup: /system.slice/docker.service
           ├─20641 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current -...
           └─20651 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd...

 7월 16 01:52:58 localhost.localdomain dockerd-current[20641]: [60B blob data]
 7월 16 01:52:58 localhost.localdomain dockerd-current[20641]: [60B blob data]
 7월 16 01:52:58 localhost.localdomain dockerd-current[20641]: [23B blob data]
 7월 16 01:52:58 localhost.localdomain dockerd-current[20641]: [47B blob data]
 7월 16 01:52:58 localhost.localdomain dockerd-current[20641]: [10B blob data]
 7월 16 01:52:58 localhost.localdomain dockerd-current[20641]: [60B blob data]
 7월 16 02:01:00 localhost.localdomain dockerd-current[20641]: [98B blob data]
 7월 16 14:31:42 localhost.localdomain dockerd-current[20641]: time="2021-07-16T14:31:42.313839835+09:00" le...e"
 7월 16 14:32:16 localhost.localdomain dockerd-current[20641]: time="2021-07-16T14:32:16.790442319+09:00" le...e"
 7월 16 14:32:17 localhost.localdomain dockerd-current[20641]: time="2021-07-16T14:32:17.580941056+09:00" le...t"
Hint: Some lines were ellipsized, use -l to show in full.

해당 명령어를 입력하면 Loaded 부분에 docker.service 파일을 불러온 것을 확인할 수 있다.

/usr/lib/systemd/system/docker.service 파일에서 저 기본 경로를 변경할 수 있다.

 

vi /lib/systemd/system/docker.service

...
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
...

위와 같이 적혀있는 부분이 있을 것이다.

해당 부분의 뒤에 --data-root=경로 를 추가해주자.

 

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/home/sysmaster7/container/

sudo service docker stop
sudo service docker start

이후에 서비스를 재시작 해주면 (중간에 reload 를 요구할 수 있다. 발생하는 명령어를 입력해주자)

 

docker info | grep Root

Docker Root Dir: /home/sysmaster7/container

변경된 것을 확인할 수 있다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.