I use Windows 10 Home on my laptop, so docker integration is a challenge, espescially running all the builds written in shell scripts won’t run nicely on Ubuntu on Windows or MSYS2.

So I’ve had to fallback on installing ubuntu on virtualbox, with docker and gcloud-sdk. I’ve documented the steps below.

Get VirtualBox

Download VirtualBox

Install Ubuntu on VirtualBox

Get Xubuntu 16.04 ISO. Xubuntu is lightweight and provides a standard desktop. Ubuntu or other flavours should also work.

Download Xubuntu LTS

VirtualBox Guest Config

Config suggested for guest:

  1. Min Disk: 30GB
  2. RAM: 2GB
  3. LVM Partitioning
  4. Xubuntu desktop installer

Post-install

Enable shared clipboard Host-Guest and Reboot

Devices->Shared Clipboard->Host to Guest

Install VirtualBox Guest Tools

  1. Insert Guest Additions ISO
  2. Run /media/am/VBox_…/autorun.sh
cd /media/am/VBox_.../
sudo ./autorun.sh

Update and Upgrade

sudo apt-get update -y
sudo apt-get upgrade -y

Install aptitude, vim, emacs etc.

sudo apt-get install aptitude vim emacs -y

Install Docker

Install instructions are here Installl Docker CE on Ubuntu

Run docker as user

Add current user to docker group, and verify that it works

sudo usermod -aG docker $USER

Reboot ubuntu for changes to take effect.

sudo reboot

Verify that the changes work

docker run hello-world

See Post-install step for linux for further details.

(Optional) Install Docker Compose

See instructions at Install Docker Compose for Linux

Install gcloud-sdk

Install instructions are here Install gcloud-sdk on Ubuntu

SSH/github setup

Use this gist to setup multiple keys if required. Github multiple ssh keys

(Optional) Install nodejs using package manager

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

For details see instructions at Install nodejs via package manager

Copy the VM before using it

Take a backup of the VM folder if you have space, so that you don’t need to go through these steps again. You can just start from a clean copy where all tools are setup.