weave: Error response from daemon: Container command '/w/w' not found or does not exist.

UPDATE: SOLUTION

(thanks to @rade for his time in debugging)

Do not use “weave reset” in any startup as it wipes all of the info, including volumes.

^^^ You can read bellow if interested, but ^^^ Is the reason this was happening! ^^^

It seems that if you restart the docker host system without doing a “docker stop $container”, the container cannot start upon the system rebooting, if it’s using weaveworks:

Example of container launch (using simple Ubuntu container for test):

# Note: see bellow about ipalloc-range
WEAVE_IP_CIDR='172.20.1.102/24'
docker run --name test -d --net=none -e WEAVE_CIDR="$WEAVE_IP_CIDR -p ... -v ... $IMAGE $start-cmd

Example of BUG:

docker start test
Error response from daemon: Container command '/w/w' not found or does not exist.
Error: failed to start containers: test

Environment details:

Server with Ubuntu 16.04 LTS
Docker:  1.11.2
Weave: 1.6

Weave is launched at each system reboot with:

/usr/local/bin/weave reset
/usr/local/bin/weave launch --password $somepassword$ --ipalloc-range 172.16.0.0/12 --trusted-subnets $subnet1-no-sleeve$ $subnet2-no-sleeve$...etc...

This results in (real example):

Running:
e0b6f6003602        weaveworks/plugin:1.6.0      "/home/weave/plugin"     42 minutes ago      Up 42 minutes                           weaveplugin
cfe0a5df45c2        weaveworks/weaveexec:1.6.0   "/home/weave/weavepro"   42 minutes ago      Up 42 minutes                           weaveproxy
77a36da8e071        weaveworks/weave:1.6.0       "/home/weave/weaver -"   42 minutes ago      Up 42 minutes                           weave

Weave status produces correct connections/env. (between other systems for example)

If you do a proper “docker stop $container” and reboot, then the container can be started with “docker start $container” (or, if you set a restart policy, it will come up.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 15 (7 by maintainers)

Most upvoted comments

Yes, it did change when weave got better at retaining data on restart - in early weaves there was little difference between running weave reset and not doing so.

1.) Nothing there (path exists – but _data is empty)

What path did it report?

Weave is started in /etc/rc.local like this:

/usr/local/bin/weave reset
...

That is the problem! weave reset wipes out all weave data, including the weavevolumes-* volume containers.

So don’t do that 😃