diff --git a/Dockerfile b/Dockerfile
index 8416bbeb24b5b50738760fe6e0fc624a78515cb1..273c1becea21a98d885d0e74c50b7c05b7b1f967 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,9 +1,12 @@
-FROM golang:1.7-alpine
+FROM golang:latest as build
+LABEL maintainer="nsheridan@gmail.com"
+ARG SRC_DIR=/go/src/github.com/nsheridan/cashier
+WORKDIR ${SRC_DIR}
+ADD . ${SRC_DIR}
+RUN CGO_ENABLED=0 GOOS=linux go install -a -installsuffix static ./cmd/cashierd
 
-ADD . /go/src/github.com/nsheridan/cashier
-RUN apk add --update build-base
-RUN go install github.com/nsheridan/cashier/cmd/cashierd
-
-VOLUME /cashier
+FROM scratch
+LABEL maintainer="nsheridan@gmail.com"
 WORKDIR /cashier
-ENTRYPOINT /go/bin/cashierd
+COPY --from=build /go/bin/cashierd /
+ENTRYPOINT ["/cashierd"]
diff --git a/README.md b/README.md
index 4dd208c203c9d629d8be31add9319095b2712e2c..b1ddfbbc8cbea39fce3c1cfef36ae35a70e5a1ff 100644
--- a/README.md
+++ b/README.md
@@ -5,6 +5,7 @@
 - [Cashier](#cashier)
 	- [How it works](#how-it-works)
 - [Installing](#installing)
+  - [Docker](#docker)
 - [Requirements](#requirements)
 	- [Server](#server)
 	- [Client](#client)
@@ -67,6 +68,12 @@ The server requires a configuration file ([sample config](example-server.conf)).
 
 See [the configuration section](#configuration) for more detail.
 
+## Docker
+A [docker image is available](https://hub.docker.com/r/nsheridan/cashier). Example usage:
+```
+docker run -it --rm -p 10000:10000 --name cashier -v ${PWD}:/cashier nsheridan/cashier
+```
+
 # Requirements
 ## Server
 Go 1.10 or later, though it may work with earlier versions.