This commit is contained in:
Jonathan Leibiusky @xetorthio
2017-07-25 16:36:10 -03:00
parent 8424479e76
commit 53e6078cc5
22 changed files with 307 additions and 144 deletions

View File

@@ -0,0 +1,36 @@
package provider
import (
"sync"
"github.com/docker/docker/client"
"github.com/play-with-docker/play-with-docker/docker"
)
type localSessionProvider struct {
rw sync.Mutex
docker docker.DockerApi
}
func (p *localSessionProvider) GetDocker(sessionId string) (docker.DockerApi, error) {
p.rw.Lock()
defer p.rw.Unlock()
if p.docker != nil {
return p.docker, nil
}
c, err := client.NewEnvClient()
if err != nil {
return nil, err
}
d := docker.NewDocker(c)
p.docker = d
return d, nil
}
func NewLocalSessionProvider() *localSessionProvider {
return &localSessionProvider{}
}