github.com/anuvu/nomad@v0.8.7-atom1/client/testutil/docker.go (about)

     1  package testutil
     2  
     3  import (
     4  	"runtime"
     5  	"testing"
     6  
     7  	docker "github.com/fsouza/go-dockerclient"
     8  	"github.com/hashicorp/nomad/testutil"
     9  )
    10  
    11  // DockerIsConnected checks to see if a docker daemon is available (local or remote)
    12  func DockerIsConnected(t *testing.T) bool {
    13  	// We have docker on travis so we should try to test
    14  	if testutil.IsTravis() && runtime.GOOS == "linux" {
    15  		return true
    16  	}
    17  
    18  	client, err := docker.NewClientFromEnv()
    19  	if err != nil {
    20  		return false
    21  	}
    22  
    23  	// Creating a client doesn't actually connect, so make sure we do something
    24  	// like call Version() on it.
    25  	env, err := client.Version()
    26  	if err != nil {
    27  		t.Logf("Failed to connect to docker daemon: %s", err)
    28  		return false
    29  	}
    30  
    31  	t.Logf("Successfully connected to docker daemon running version %s", env.Get("Version"))
    32  	return true
    33  }