Docker machine for Mac 에서 no space left on device

Docker machine for Mac 에서 no space left on device

오늘은 Docker를 Mac에서 사용할 때 격는 문제에 대해 정리합니다.

 

Prerequisite

  • Docker version 17.03.1-ce
  • Docker-machine version 0.10.0

 

저는 Docker toolbox 를 이용하고 있으며, Docker for Mac 과 의 차이점에 관련된 내용은 여기서 참고하시면 됩니다.

Problem

Docker 이미지 빌드 중에 이런 메시지를 만났습니다.

failed to register layer: Untar re-exec error: exit status 1: output: write /home/oracle/app/oracle/oradata/oracle/users01.dbf: no space left on device

no space left on device

틀림없이 제 맥북은 용량이 많이 남아있습니다.

Solution

Docker-machineVirtualBox 를 이용해서 docker를 실행합니다.
이에 docker가 실행되는 환경 접속을 하려면 별도의 명령이 필요합니다.

$ docker-machine ssh

이제 도커가 돌고 있는 가상 환경으로 들어왔습니다.

디스크 용량을 확인합니다.

$ sudo df -h
...
/dev/sda1 20.0G 19.9G 0.1G 99% /mnt/sda1/var/lib/docker/aufs
...

저 녀석이 꽉차 있습니다.

그냥 docker-machine의 가상머신 환경을 날리고 용량을 크게 다시 만듭니다.

$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.101:2376 v17.06.0-ce

default를 날립니다.

$ docker-machine rm default

이제 disk size 를 새로 지정합니다. 여기서는 80G 로 만듭니다.

$ docker-machine create --driver virtualbox --virtualbox-disk-size "80000" default

이 전 과정을 반복해서 용량을 확인합니다.

$ docker-machine ssh
$ sudo df -h

변경이 완료되었습니다.