Update the prow-presubmit README and test Dockerfile

This splits out the instructions for pushing the updated presubmit
images and testing them locally. It also clarifies a few things here and
there.

Change-Id: Ia505462cb29ff0eda8d0b7edcb89be3119046a68
Signed-off-by: David Gow <davidgow@google.com>
diff --git a/Dockerfile.test b/Dockerfile.test
index aff51de..ae54ec0 100644
--- a/Dockerfile.test
+++ b/Dockerfile.test
@@ -1,4 +1,4 @@
-FROM gcr.io/kunit-presubmit/kunit
+FROM kunit-presubmit/kunit
 WORKDIR /kunit
 COPY linux .
 ENV ARTIFACTS /artifacts
diff --git a/README.md b/README.md
index 8e1697e..d332d8e 100644
--- a/README.md
+++ b/README.md
@@ -40,9 +40,16 @@
 container are solved in the deployment configuration discussed below under "Prow
 Job Specification".
 
-To build and push, you can either use Bazel or Docker:
+To build and push, you can either use Bazel or Docker. You only need to use one
+of these methods. The Bazel method is usually simpler, but the Docker method has
+fewer dependencies, and so can be more robust.
 
-### Bazel
+Note that you only need to run the "Push" stage if you wish to update the
+global version of the presubmit, running in production. You'll also need to have
+permission to push to the gcr repository to do so. If unsure, DON'T DO IT: you
+don't need to push in order to test locally.
+
+### Method 1: Bazel
 
 Bazel allows building/pushing without dependence on docker and automates
 using latest kunitconfig in build. As Bazel enforces deterministic
@@ -52,6 +59,9 @@
 
 #### Update
 
+You only need to worry about this if dependencies have changed. Otherwise,
+skip ahead to 'Use' below.
+
 The direct dependencies needed are:
 * build-essential
 * bc
@@ -87,9 +97,6 @@
 # build prowjob image
 bazel build :kunit
 
-# push to configured repo
-bazel run :push_kunit
-
 # build test image with kunit source and add to local docker
 bazel run :kunit_test
 
@@ -97,7 +104,16 @@
 docker run --privileged --tmpfs /dev/shm:exec kunit-presubmit/test:kunit_test
 ```
 
-### Docker
+#### Push
+
+If you wish to update the global version of the prow presubmit (and you have
+the requisite permissions to do so), you can use the following command:
+```shell
+# push to configured repo
+bazel run :push_kunit
+```
+
+### Method 2: Docker
 
 You must have [Docker](https://docs.docker.com/install/linux/docker-ce/debian/)
 Make sure to enable
@@ -105,20 +121,20 @@
 (fixes gcr push
 authentication problems).
 
+#### Use
+
 Now to build and push image :
 
 ```shell
 # build image
-docker build . gcr.io/kunit-presubmit/kunit
+docker build -t kunit-presubmit/kunit .
 
 # confirm image is built
 docker images
-
-# push to gcr
-docker push gcr.io/kunit-presubmit/kunit
 ```
 
-To test the container locally:
+To test the container locally, you'll need to have a temporary directory
+containing a copy of the linux source (with KUnit) in the linux/ subdirectory.
 
 ```shell
 # have tmp directory with source checked out to $TMP/linux
@@ -144,6 +160,21 @@
 the UML Kernel in an entrypoint script works as intended but fails in an
 interactive shell.
 
+#### Push
+
+Now to build and push the image (if you have permission):
+
+```shell
+# build image (note the 'gcr.io' prefix)
+docker build . gcr.io/kunit-presubmit/kunit
+
+# confirm image is built
+docker images
+
+# push to gcr
+docker push gcr.io/kunit-presubmit/kunit
+```
+
 ### Registry
 
 By default, we have configured our install to use Google Container Registry.