This install procedure uses Docker Toolbox. This is the only way to use Docker on Windows 7 or Windows 10 home. On Windows 10 pro, you can use Docker CE for Windows

1. Install Docker Toolbox

Install Docker Toolbox, following these instructions.

2. Start Docker Toolbox

Run 'Docker Quickstart Terminal'. After answering yes to a few permission prompts, you should see this screen:

3. Configure the docker machine

Because Windows 7 does not support the standard way that Docker runs containers, the Docker toolbox creates a virtual machine to run Docker. Your docker containers will be deployed in this machine.

To find the IP address of the machine, run:

docker-machine ip

If you ever need it, you can log in on this machine using:

docker-machine ssh default

4. Pull the BrewPi docker image

We'll be using the BrewPi docker image based on Ubuntu 16.04. In the docker terminal, run:

docker pull brewpi/brewpi-ubuntu

5. Create and start new BrewPi docker container

Get the latest ubuntu based image brewpi image

docker pull brewpi/brewpi-ubuntu

Deploy a new brewpi-ubuntu container. Modify the command below to to your liking, especially the port and the data location on the host. ~/ will map to your user directory in Windows. C:/Users/Elco in my case.

docker run -d --name brewpi -p 80:80 -v ~/brewpi-data:/data --restart always brewpi/brewpi-ubuntu

Let's break that down to explain each part.

Parameter Explanation
-d After starting the container, run it as daemon in the background.
–name brewpi Name the new container brewpi, modify this you are running multiple brewpi containers.
-p 80:80 Map port 80 of the docker machine to port 80 of the container
-v ~/brewpi-data:/data Store data and settings in ~/brewpi-data on the host. This will end up in your user home directory in Windows
–restart always Start on boot and always restart the container when it stops.
brewpi/brewpi-ubuntu The image that is used. Usebrewpi/brewpi-raspbian for the raspberry pi, brewpi/brewpi-ubuntu for x64/x86 systems.

Connecting the BrewPi Spark via USB

I have not figured out how to forward a Windows serial port to the docker container yet. You'll have to use WiFi until someone figures this out.

5. Install the portainer web interface to manage docker containers

Portainer can make it easier to manage your running docker containers. You can install it with:

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart always --name portainer portainer/portainer

6. Verify that the brewpi container is running

Remember that your docker containers run in the docker machine, so to access their web interface, we need to point our browser to the IP address of the docker machine, which you can find with:

docker-machine ip

In my case, the IP-address was 192.168.99.100

In the browser, first try to load the BrewPi web interface, by going to 192.168.99.100. If you used a different port setting, like -p 81:80, go to 192.168.99.100:81.

7. Use portainer to access the command line of the brewpi container

Try to load the portainer web interface: 192.168.99.100:9000. It will ask you to set an admin password. Pick a password and set it up. Use it to log in on the next page.

On the next page, choose to first option 'Manage the Docker instance where Portainer is running' and click the Connect button.

When you have logged in, you can see your running containers. In this case, there will be a brewpi and a portainer one.

If you click on the brewpi container, you can click on 'console' on the container page. This will drop you directly to the command line of the container. We will use that to correct the timezone of the container.

Run the following command:

dpkg-reconfigure tzdata