diff --git a/proxy/common.go b/proxy/common.go index 45ed79d8..7c7775c4 100644 --- a/proxy/common.go +++ b/proxy/common.go @@ -6,6 +6,7 @@ import ( "fmt" "io/ioutil" "net/http" + "os" "os/exec" "regexp" @@ -22,7 +23,13 @@ func callWeave(args ...string) ([]byte, error) { args = append([]string{"--local"}, args...) Debug.Print("Calling weave", args) cmd := exec.Command("./weave", args...) - cmd.Env = []string{"PROCFS=/hostproc", "PATH=/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"} + cmd.Env = []string{ + "PATH=/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "PROCFS=/hostproc", + } + if bridge := os.Getenv("DOCKER_BRIDGE"); bridge != "" { + cmd.Env = append(cmd.Env, fmt.Sprintf("DOCKER_BRIDGE=%s", bridge)) + } out, err := cmd.CombinedOutput() return out, err } diff --git a/weave b/weave index 67d69d9f..eee61860 100755 --- a/weave +++ b/weave @@ -1076,6 +1076,7 @@ case "$COMMAND" in -v /proc:/hostproc \ -e PROCFS=/hostproc \ -e WEAVE_CIDR=none \ + -e DOCKER_BRIDGE \ --entrypoint=/home/weave/weaveproxy \ $WEAVEPROXY_DOCKER_ARGS $EXEC_IMAGE $PROXY_ARGS) wait_for_log $PROXY_CONTAINER_NAME "proxy listening"