head-image.jpeg

Photo by Jen Theodore on Unsplash


Recently I have been watching a tutorial where, in order to follow it, one should have Docker running on his machine. So far, so good, but it turned out that the latest versions of Docker require Windows 10 Pro, Enterprise or Education. Which means, that if you are like me and have just Windows 10 Home edition on your personal laptop, then you cannot use Docker…or maybe you still can. Read below to find out how 📑

Reasoning

First, let's do a short resume on the situation. What do we want to achieve and what do we currently have?

We have Windows 10 OS Home edition on our machine and we would like to have Docker platform running on the same machine, so we are able to create docker images and run containers, so we can learn better and grow faster! The last one is a bit out of scope of this article, but one should start from somewhere, no? 😏.

Actions

After defining what we want, let's see how to achieve it. Here are the steps I followed. It worked for me, which makes me share it with you, so maybe I would save someone a few days of going back and forth to StackOverflow! 😐

After some reading, I found this article, which explains that it is possible to use Docker in Windows 10 Home by leveraging a Linux virtual machine and have docker containers running on it.

  1. First thing you need is, to install a software called Oracle VM VirtualBox. It gives you the ability to have multiple virtual machines installed on your physical one. This way we can have a virtual machine which will be running Linux where our Docker will live.
  2. Then use Windows PowerShall and Chocolatey, your Windows package manager, to install a docker-machine by running the following:
choco install docker-machine
  1. Open your favorite bash terminal app and run this:

    docker-machine create --driver virtualbox default
    

This will create a docker virtual machine called 'default'.

  1. Next, we need to configure which ports are exposed when running Docker containers. You may do that by going to Oracle VM VirtualBox -> default virtual machine -> Settings -> Network -> Adapter 1 -> Port Forwarding

port-forwarding.png

  1. This was the most critical to forget about detail for me - we need to allow Docker to mount volumes located on your hard drive. By default, you can only mount from the C://Users/ directory. To add a different path, simply go to Oracle VM VirtualBox GUI. Select default VM and go to Settings > Shared Folders. If you don't mind to use the default settings, do not forget to put your project under 'Users' directory, e.g. C:\\Users\\{your project}. In my case, I've forgotten about this and had to spend few days of head banging until I figured out why the hell was I getting "Couldn't find package.json" error when trying to run the containers, built through this tutorial.

  2. Start the virtual machine by running the following command in your terminal app:

    docker-machine start default
    
  3. Next, we need to set up Docker environment variables:

    docker-machine env default