Use entrypoint to detect weave router
This commit is contained in:
1 parent
20ac0edda8
commit
697ee62d9a
2 files changed
+3
-2
No files matched your search
@@ -20,6 +20,7 @@ import (
|
||||
var (
|
||||
containerIDRegexp = regexp.MustCompile("^(/v[0-9\\.]*)?/containers/([^/]*)/.*")
|
||||
weaveWaitEntrypoint = []string{"/w/w"}
|
||||
weaveEntrypoint = "/home/weave/weaver"
|
||||
)
|
||||
|
||||
func callWeave(args ...string) ([]byte, []byte, error) {
|
||||
|
||||
+2
-2
@@ -316,7 +316,7 @@ func containerShouldAttach(container *docker.Container) bool {
|
||||
}
|
||||
|
||||
func containerIsWeaveRouter(container *docker.Container) bool {
|
||||
return strings.HasPrefix(container.Config.Image, "weaveworks/weave")
|
||||
return len(container.Config.Entrypoint) > 0 && container.Config.Entrypoint[0] == weaveEntrypoint
|
||||
}
|
||||
|
||||
func (proxy *Proxy) createWait(r *http.Request, ident string) {
|
||||
@@ -393,7 +393,7 @@ func (proxy *Proxy) attach(container *docker.Container, orDie bool) error {
|
||||
}
|
||||
|
||||
func (proxy *Proxy) attachRouter(container *docker.Container) error {
|
||||
Log.Infof("Attaching weave router container")
|
||||
Log.Infof("Attaching weave router container:", container.ID)
|
||||
args := []string{"attach-router"}
|
||||
if _, stderr, err := callWeave(args...); err != nil {
|
||||
Log.Warningf("Attaching container %s to weave network failed: %s", container.ID, string(stderr))
|
||||
|
||||
Reference in new issue
Block a user