In the Flocker CloudFormation installer we set up a client node and ask the user to set the environment variable DOCKER_HOST="<ip address and port of swarm API>" .
That means that the flockerctl wrapper script attempts to run the flockerctl container on one of the Swarm nodes....which doesn't work....because the container has a volume mapping to the certificates installed on the local machine.
Instead the wrapper script should override the DOCKER_HOST variable to the local Docker Unix socket.
I was going to say "That's how docker-compose does it", but actually it doesn't:
In the Flocker CloudFormation installer we set up a client node and ask the user to set the environment variable
DOCKER_HOST="<ip address and port of swarm API>"
.That means that the
flockerctl
wrapper script attempts to run theflockerctl
container on one of the Swarm nodes....which doesn't work....because the container has a volume mapping to the certificates installed on the local machine.Instead the wrapper script should override the DOCKER_HOST variable to the local Docker Unix socket.
I was going to say "That's how
docker-compose
does it", but actually it doesn't:I wonder if containerized docker-compose even works with docker swarm?