Docker Toolbox simplifies the creation of Docker environment for Windows and Mac. This deprecates boot2docker. Following components are included in Docker Toolbox.
- Docker Client
- Docker Machine
- Docker Compose (Mac only)
- Docker Kitematic
I recently tried out Docker Toolbox. I had few issues to get it working and after some hiccups, I was able to get it working with some help from mailers. In this blog, I will share my experiences.
I have a Windows 7 laptop. I had following components installed earlier:
- Virtualbox 4.3.28
- Docker client 1.6
- Docker machine 0.3.0
- boot2docker 1.4.1
- Kitematic Alpha
Following component versions are part of Docker Toolbox 1.8.1b that I installed:
- Virtualbox 5.x
- Docker client 1.8.1.
- Docker machine 0.4.0
- boot2docker 1.8.1
- Kitematic Alpha
Issue 1(Virtualbox version):
Docker Toolbox by default will install Virtualbox 5.x. I selected Virtualbox 5.x and I had issues with running VMs that I already had. I downgraded back to Virtualbox 4.3.28. As per my understanding, there is no dependency to upgrade Virtualbox to 5.x for Docker Toolbox. Also, I saw some issue related to Virtualbox 5.x and Kubernetes cluster. If you dont need Virtualbox 5.x, its better to stick to Virtualbox 4.3.28 and skip the installation of this component.
Issue 2(docker-machine hanging when starting VM):
docker-machine hangs indefinitely while “Starting VM”. The issue and the recovery mechanism is highlighted here. The issue happens because of a conflicting IP address chosen by Docker. The workaround mentioned in the link worked for me. Few points to remember:
- For git bash, we need to execute “export VIRTUALBOX_HOSTONLY_CIDR=192.168.99.100/24”.
- It is needed to set the environment variable for every git shell where docker-machine VM is created.
Issue 3(Kitematic hangs at 99%):
This issue is similar to the IP address allocation issue above. The issue and the workaround is highlighted here. Unfortunately, the workaround did not work for me. Everytime, I started docker-machine VM, it created a Virtualbox interface with conflicting IP address. The only way I could get it working is to create a default docker-machine VM from cli(docker-machine create –driver virtualbox default) and then start Kitematic.
I am hoping that the above issues will be resolved soon and that Compose, Swarm will be included soon in Toolbox. Also, it will be good to have a Toolbox like bundle for Linux even though few components might not make sense.