Post

Docker hangs during build

Docker hangs during build

Yesterday I had a strange problem with Docker during a build process. I use Linux Mint. I didn’t have enough space at the main system directory /. By default, Docker saves all data (images, volumes, etc.) in /var/lib/docker. Firstly I wanted to move this directory to the /home, but unfortunately, there was probably a problem with encryption, and Docker’s daemon couldn’t start properly. The second option was to move the directory to a hdd drive. But it also wasn’t a piece of cake (just Linux user normal day 😀 ).

The problem

When Docker’s data were in the default location, the project has been built successfully. Then I changed the location of Docker’s data to another drive. It caused a problem and Docker froze during the build.

How to change the default location of Docker’s data?

Stop the Docker’s daemon

1
sudo service docker stop

Add an option with the path to the directory to the Docker’s daemon configuration file (/var/docker/daemon.json) (Just add this file if not exists)

1
2
3
{ 
   "data-root": "/mnt/drive"
}

Copy the current data to the new directory

1
sudo rsync -aP /var/lib/docker/ /media/sarven/drive

Remove the old data

1
sudo rm -rf /var/lib/docker

Restart the Docker’s daemon

1
sudo service docker start

How to fix a hanging?

The problem was with the NTFS filesystem on the drive that I wanted to use as default Docker’s data directory. I discovered that Docker had set aufs storage driver, but I expected overlay or overlay2. I stopped Docker, formated the drive and then started Docker. Then Docker had set storage driver as overlay2 and the build was successful. I decided to write about this problem, maybe someone will find this as helpful.

Unit Testing Tips - Kamil Ruczyński
This post is licensed under CC BY 4.0 by the author.