diff --git a/README.md b/README.md index cdb3709f..1d464916 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,27 @@ signal, e.g. and then inspect the logs. +## Installation with Boot2Docker + +If you are running Docker inside the Boot2Docker VM, e.g. because you are +on a Mac, then the following changes are required to these instructions: + +Assuming you have fetched the 'weave' script via curl or similar, and it +is in the current directory, transfer it to the Boot2Docker VM and make it +executable like this: + + host1$ boot2docker ssh "cat > weave" < weave + host1$ boot2docker ssh "chmod a+x weave" + +Then, if we were trying to create the same containers as in the first example +above, the launch command would be run like this: + + host1$ WEAVE=$(boot2docker ssh "sudo ./weave launch 10.0.0.1/16") + +and the run command like this: + + host1# C=$(boot2docker ssh "sudo ./weave run 10.0.1.1/24 -t -i debian /bin/bash") + ## Building (NB. This is only necessary if you want to work on weave. Also, these diff --git a/weaver/weave b/weaver/weave index 2e97b726..e6bd3143 100755 --- a/weaver/weave +++ b/weaver/weave @@ -87,7 +87,12 @@ ip netns exec $NSPID ip link set $GUEST_IFNAME name $CONTAINER_IFNAME ip netns exec $NSPID ip addr add $IPADDR dev $CONTAINER_IFNAME ip netns exec $NSPID ip link set $CONTAINER_IFNAME up -ip netns exec $NSPID ethtool -K $IFACE tx off > /dev/null +if [ command -v ethtool >/dev/null 2>&1 ] +then + ip netns exec $NSPID ethtool -K $IFACE tx off > /dev/null +else + echo "Cannot find ethtool; continuing without it" >&2 +fi [ -f /var/run/netns/$NSPID ] && rm -f /var/run/netns/$NSPID