diff --git a/tools/run_tests/dockerize/build_interop_image.sh b/tools/run_tests/dockerize/build_interop_image.sh
index 48a216a124b194f40b180a8f6ee3c6552fae5f29..3385738f9c3a4353072560776666b8f28952191a 100755
--- a/tools/run_tests/dockerize/build_interop_image.sh
+++ b/tools/run_tests/dockerize/build_interop_image.sh
@@ -71,7 +71,13 @@ then
 fi
 
 # Use image name based on Dockerfile checksum
-BASE_IMAGE=${BASE_NAME}_base:`sha1sum tools/dockerfile/interoptest/$BASE_NAME/Dockerfile | cut -f1 -d\ `
+# on OSX use md5 instead of sha1sum
+if which sha1sum > /dev/null;
+then
+  BASE_IMAGE=${BASE_NAME}_base:`sha1sum tools/dockerfile/interoptest/$BASE_NAME/Dockerfile | cut -f1 -d\ `
+else
+  BASE_IMAGE=${BASE_NAME}_base:`md5 -r tools/dockerfile/interoptest/$BASE_NAME/Dockerfile | cut -f1 -d\ `
+fi
 
 # Make sure base docker image has been built. Should be instantaneous if so.
 docker build -t $BASE_IMAGE --force-rm=true tools/dockerfile/interoptest/$BASE_NAME || exit $?
diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py
index 2d7f4a625d61e3eb3f4703ac79cb6d8cb20db945..1a83c10a42c881083685d2adfadacfe8c9e47359 100755
--- a/tools/run_tests/run_interop_tests.py
+++ b/tools/run_tests/run_interop_tests.py
@@ -728,7 +728,8 @@ def server_jobspec(language, docker_image, insecure=False, manual_cmd_log=None):
     ]
 
   else:
-    docker_args += ['-p', str(_DEFAULT_SERVER_PORT)]
+    portstr = str(_DEFAULT_SERVER_PORT)
+    docker_args += ['-p', '%s:%s'%(portstr, portstr)]
 
   docker_cmdline = docker_run_cmdline(cmdline,
                                       image=docker_image,