The built in go http.Fileserver handles If-Modified-Since in the
header by comparing it with the last modified date on the
file/directory. Since the file is unaltered when we switch to a
new container, that results in 304s when trying to fetch data.json, so
the browser doesn't fetch the new picture after doing a rolling update.
Separate issue, the Dockerfile ADD command was being interpreted as
`copy html/data.json into a directory called 'html/kitten.jpg '`,
instead of the `copy these 2 files into root`. Changed to separate
commands using COPY, per recommended dockerfile practices.
v2: Resolve issues from comments, fix bugs in update-demo example, rename files for clarity, add turn-down steps.
v3: Add more set commands, clean up rest of env var checks.
Use images and some better formatting. Also add scripts to help prevent typos.
This based on an improved version done by Julia Ferraioli. She came up with the cool images.