diff --git a/docker/local_cached_factory.go b/docker/local_cached_factory.go index 1cd5cbe..a7b551c 100644 --- a/docker/local_cached_factory.go +++ b/docker/local_cached_factory.go @@ -58,7 +58,7 @@ func (f *localCachedFactory) GetForSession(sessionId string) (DockerApi, error) } func (f *localCachedFactory) GetForInstance(instance *types.Instance) (DockerApi, error) { - key := instance.SessionId + instance.IP + key := instance.Name f.irw.Lock() c, found := f.instanceClients[key] diff --git a/provisioner/dind.go b/provisioner/dind.go index c331adc..86c681d 100644 --- a/provisioner/dind.go +++ b/provisioner/dind.go @@ -15,6 +15,7 @@ import ( "github.com/play-with-docker/play-with-docker/pwd/types" "github.com/play-with-docker/play-with-docker/router" "github.com/play-with-docker/play-with-docker/storage" + "github.com/rs/xid" ) type DinD struct { @@ -58,7 +59,7 @@ func (d *DinD) InstanceNew(session *types.Session, conf types.InstanceConfig) (* } conf.Hostname = nodeName } - containerName := fmt.Sprintf("%s_%s", session.Id[:8], conf.Hostname) + containerName := fmt.Sprintf("%s_%s", session.Id[:8], xid.New().String()) opts := docker.CreateContainerOpts{ Image: conf.ImageName, SessionId: session.Id,