diff --git a/bazel_tools/docker.bzl b/bazel_tools/docker.bzl
index b7f5f31..b45c72c 100644
--- a/bazel_tools/docker.bzl
+++ b/bazel_tools/docker.bzl
@@ -4,28 +4,32 @@
 # --- begin runfiles.bash initialization ---
 # Copy-pasted from Bazel's Bash runfiles library (tools/bash/runfiles/runfiles.bash).
 set -euo pipefail
-if [[ ! -d "\\$${{RUNFILES_DIR:-/dev/null}}" && ! -f "\\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
-    if [[ -f "\\$$0.runfiles_manifest" ]]; then
-        export RUNFILES_MANIFEST_FILE="\\$$0.runfiles_manifest"
-    elif [[ -f "\\$$0.runfiles/MANIFEST" ]]; then
-        export RUNFILES_MANIFEST_FILE="\\$$0.runfiles/MANIFEST"
-    elif [[ -f "\\$$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
-        export RUNFILES_DIR="\\$$0.runfiles"
+if [[ ! -d "\$${{RUNFILES_DIR:-/dev/null}}" && ! -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    if [[ -f "\$$0.runfiles_manifest" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles_manifest"
+    elif [[ -f "\$$0.runfiles/MANIFEST" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles/MANIFEST"
+    elif [[ -f "\$$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+        export RUNFILES_DIR="\$$0.runfiles"
     fi
 fi
-if [[ -f "\\$${{RUNFILES_DIR:-/dev/null}}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
-    source "\\$${{RUNFILES_DIR}}/bazel_tools/tools/bash/runfiles/runfiles.bash"
-elif [[ -f "\\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
-    source "\\$$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash "     \t                 "\\$$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
+if [[ -f "\$${{RUNFILES_DIR:-/dev/null}}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+    source "\$${{RUNFILES_DIR}}/bazel_tools/tools/bash/runfiles/runfiles.bash"
+elif [[ -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    source "\$$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \
+    	                 "\$$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
 else
     echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
     exit 1
 fi
 # --- end runfiles.bash initialization ---
 IMAGE="{registry}/{image}:{tag}"
-DOCKERFILE=\\$$(rlocation __main__/{package}/{dockerfile})
-docker build       --tag=\\$$IMAGE       --file=\\$$DOCKERFILE       \\$$(dirname "\\$$DOCKERFILE")
-docker push \\$$IMAGE
+DOCKERFILE=\$$(rlocation __main__/{package}/{dockerfile})
+docker build \
+      --tag=\$$IMAGE \
+      --file=\$$DOCKERFILE \
+      \$$(dirname "\$$DOCKERFILE")
+docker push \$$IMAGE
 """
 
 def docker_image(name, registry, image, tag, dockerfile, srcs, **kwargs):
