반응형
Centos 7 Docker
No space left on device
저는 좀 더 넓은 공간으로 docker folder 를 이동하는 방법을 썼습니다.
다른 드라이브(파티션)에 공간이 있어야 합니다.
( 그게 아니라면 안쓰는 docker image 들을 삭제하는 방법을 해보세요 )
아래와 같이 /dev/xvda1 의 용량이 가득차서 /dev/xvdb 로 docker 의 root dir 을 옮겼습니다.
Centos 7 기준으로 설명드리겠습니다.
우선 docker config 열기
$ sudo vi /lib/systemd/system/docker.service
ExecStart= 를 찾아봅니다.
ExecStart=/usr/bin/docker daemon -g /home/myid/docker \
-g 뒤에 /home/myid/docker 라는 곳이 있네요.
일단 위 docker.service 수정은 잠시 후에 할거니까 q! 로 나와주시고요.
이 폴더를 용량이 많은 드라이브로 이동할겁니다.
$ df
명령어를 날려보면
다른 파티션에 남는 자리가 있어야 합니다.
(전 네트워크 드라이브를 마운트했습니다.)
폴더를 copy 하기 전에 docker 를 중단합니다.
$ sudo systemctl stop docker
폴더를 copy 합니다.
(move 보다는 copy 가 좀더 안전합니다. 이동 후 오류나면 기존 폴더를 다시 사용해야 하니까요.)
$ sudo cp /home/myid/docker /data
docker 설정변경
$ sudo vi /lib/systemd/system/docker.service
로 파일에 들어가서
# 기존
ExecStart=/usr/bin/docker daemon -g /home/myid/docker \
# 변경
ExecStart=/usr/bin/docker daemon -g /data/docker \
docker 를 다시 시작합니다.
$ sudo systemctl daemon-reload
$ sudo systemctl start docker
그리고 docker images , docker ps -a 등등 명령어 날려서 확인해 보시면 됩니다.
잘 된다! 그러면
기존의 docker directory 를 삭제하시면 됩니다.
혹시 모르는 오류가 발생해서 docker 가 실행되지 않거나
docker images 와 container 들이 없다면
docker stop -> docker.service 파일에서 기존 folder 로 변경 -> daemon-reload -> docker 시작 순으로 롤백하시면 됩니다.
728x90
반응형
'Docker, k8s' 카테고리의 다른 글
Ubuntu apt-get upgrade 할때 apt-get upgrade override local changes to /etc/pam.d/common-* 해결 방법 (0) | 2020.09.24 |
---|---|
Docker 로 linux python3 이미지 받기 (0) | 2020.08.11 |
[Docker] react + nginx + Dockerizing 따라하기 (4) | 2020.04.01 |
[Kubernetes] deployment yaml 사양 (0) | 2020.03.30 |
[Kubernetes] 디플로이먼트 생성/업데이트/롤백 nginx 예시 (0) | 2020.03.30 |
댓글