Refactor: introduce runTransientContainer function

also specify that it needs no container network
This commit is contained in:
Bryan Boreham committed 2017-05-12 06:56:52 +00:00
1 parent 0a2521e7a4
commit be917eb86b
1 file changed
+7 -4
+7 -4
View File
@@ -643,7 +643,6 @@ func (proxy *Proxy) updateContainerNetworkSettings(container jsonObject) error {
}
func (proxy *Proxy) symlink(unixAddrs []string) (err error) {
var container *docker.Container
binds := []string{"/var/run/weave:/var/run/weave"}
froms := []string{}
for _, addr := range unixAddrs {
@@ -659,7 +658,10 @@ func (proxy *Proxy) symlink(unixAddrs []string) (err error) {
if len(froms) == 0 {
return
}
return proxy.runTransientContainer([]string{"/home/weave/symlink", weaveSock}, froms, binds)
}
func (proxy *Proxy) runTransientContainer(entrypoint, cmd, binds []string) (err error) {
env := []string{
"PATH=/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
}
@@ -668,14 +670,15 @@ func (proxy *Proxy) symlink(unixAddrs []string) (err error) {
env = append(env, fmt.Sprintf("%s=%s", "WEAVE_DEBUG", val))
}
var container *docker.Container
container, err = proxy.client.CreateContainer(docker.CreateContainerOptions{
Config: &docker.Config{
Image: proxy.Image,
Entrypoint: []string{"/home/weave/symlink", weaveSock},
Cmd: froms,
Entrypoint: entrypoint,
Cmd: cmd,
Env: env,
},
HostConfig: &docker.HostConfig{Binds: binds},
HostConfig: &docker.HostConfig{Binds: binds, NetworkMode: "none"},
})
if err != nil {
return