Let’s just jump to it:

**§** I assume you have all required components: Raspberry Pi with SD card with Raspbian image on it. I used Raspbian Jessie Lite image to save some storage space. You can follow this guide on how to burn the image.

Note: default image does not have SSH server enabled. Once you finished burning the image, you have to create an empty file at the root level called ssh

Start your RPi and ssh into it using the default credentials: user -> pi, password -> raspberry.

**§** Do first-time configuration of it through sudo raspi-config: changed password for “`pi“` user, set your hostname, change locale (to en_US.UTF-8 in my case), change your timezone (America/New_York for me), and expand the file system. Then reboot your RPi for settings to go in effect. Optionally, customize your welcome message in /etc/motd file: I like to use ASCII text.

**§** Update your RPi using sudo apt-get update.

**§** Now let’s move on to installing the Docker. You start by installing its dependencies:
“`bash
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
“`

**§** Then import Docker’s PGP key:
“`bash
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add –
“`

**§** Create a repository file so you can always install the latest version of Docker:
“`bash
echo “deb [arch=armhf] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable” | \
sudo tee /etc/apt/sources.list.d/docker.list
“`

**§** Now, let’s install Docker itself:
“`bash
sudo apt-get update && sudo apt-get install docker-ce
“`

**§** Verify that it installed correctly by running “`sudo docker version“`. You should see output similar to this:
“`bash
pi@steward:~ $ sudo docker version
Client:
Version: 17.06.0-ce
API version: 1.30
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:24:07 2017
OS/Arch: linux/arm

Server:
Version: 17.06.0-ce
API version: 1.30 (minimum version 1.12)
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:18:32 2017
OS/Arch: linux/arm
Experimental: false
“`

**§** Next you just need to use my Steward docker image (either write your own script to start a container or use my GitHub repo).
“`bash
git clone https://github.com/siburny/steward-docker.git && cd steward-docker
sudo ./start.sh
“`

Note: if you have any serial-connected devices like wireless modems or access points, and you want to access them from Steward you have change provided startup script: namely –device parameter. By default, Docker shares “`/dev/ttyUSB0“` USB device

**§** Open a browser of your choice and navigate to http://<RPi-address>:8887/.

**§** If you see some widgets (at least a Clock widget), grab a beer – you are done!

Steward inside Docker container on Raspberry Pi(v2) – step by step guide