diff --git a/e2e/migrations/docker-run.sh b/e2e/migrations/docker-run.sh
index babe0374763d7db75894ae81be0eff2981b0648a..a4a8b28ec4dd026b4e795dc056664157ec1d298a 100755
--- a/e2e/migrations/docker-run.sh
+++ b/e2e/migrations/docker-run.sh
@@ -1,3 +1,6 @@
 CURRENT_DIRECTORY=`pwd`
 
-docker run --privileged -v $CURRENT_DIRECTORY:/gopkg/src/github.com/hashicorp/nomad -it nomad-e2e /bin/bash -c "cd gopkg/src/github.com/hashicorp/nomad/e2e/migrations && go test"
+docker run --privileged -v \
+$CURRENT_DIRECTORY:/gopkg/src/github.com/hashicorp/nomad \
+-it nomad-e2e /bin/bash \
+-c "cd gopkg/src/github.com/hashicorp/nomad/e2e/migrations && go test -integration"
diff --git a/e2e/migrations/migrations_test.go b/e2e/migrations/migrations_test.go
index 986f113cd33408f1d18ec5a76d239a005e8cdbf0..b1e49378dc2c0409880c21e4effb7f3880adcd99 100644
--- a/e2e/migrations/migrations_test.go
+++ b/e2e/migrations/migrations_test.go
@@ -2,6 +2,7 @@ package e2e
 
 import (
 	"bytes"
+	"flag"
 	"io/ioutil"
 	"os"
 	"os/exec"
@@ -12,6 +13,8 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
+var integration = flag.Bool("integration", false, "run integration tests")
+
 const sleepJobOne = `job "sleep" {
 	type = "batch"
 	datacenters = ["dc1"]
@@ -139,6 +142,11 @@ func startCluster(clusterConfig []string) (func(), error) {
 }
 
 func TestJobMigrations(t *testing.T) {
+	flag.Parse()
+	if !*integration {
+		t.Skip("skipping test in non-integration mode.")
+	}
+
 	t.Parallel()
 	assert := assert.New(t)