Current behavior
Reproduction
$ graphcool local up
Debug output
$ graphcool local up
config CWD /home/vagrant/IELTSRO +0ms
config HOME /home/vagrant +4ms
config definitionDir /home/vagrant/IELTSRO +1ms
config definitionPath /home/vagrant/IELTSRO/graphcool.yml +0ms
config homepath /home/vagrant/.graphcoolrc +0ms
config localRCPath /home/vagrant/IELTSRO/.graphcoolrc +0ms
config globalRCPath /home/vagrant/.graphcoolrc +0ms
cli command id local:up +0ms
cli:plugincache Got plugin from cache +0ms
cli:plugincache /home/vagrant/.cache/graphcool/plugins.json +0ms
cli:plugincache Got plugin from cache +2ms
cli:plugincache /home/vagrant/.cache/graphcool/plugins.json +0ms
plugins findCommand graphcool-cli-core +0ms
plugin requiring command +0ms
cli-engine:plugins:manager requiring /home/vagrant/.nvm/versions/node/v8.2.0/lib/node_modules/graphcool/node_modules/graphcool-cli-core +0ms
cli-engine:plugins:manager required +315ms
plugin required command +319ms
portfinder:defaultHosts exports._defaultHosts is: [ '0.0.0.0', '127.0.0.1', '::1', '10.0.2.15', 'fe80::a00:27ff:fe54:8b1b', '192.168.230.10', 'fe80::a00:27ff:fe44:4dd9' ] +0ms
portfinder:getPort in eachSeries() iteration callback: host is 0.0.0.0 +4ms
portfinder:testPort entered testPort(): trying 0.0.0.0 port 60000 +1ms
portfinder:testPort done w/ testPort(): OK 0.0.0.0 port 60000 +6ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +1ms
portfinder:getPort in eachSeries() iteration callback: host is 127.0.0.1 +0ms
portfinder:testPort entered testPort(): trying 127.0.0.1 port 60000 +1ms
portfinder:testPort done w/ testPort(): OK 127.0.0.1 port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is ::1 +0ms
portfinder:testPort entered testPort(): trying ::1 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK ::1 port 60000 +1ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is 10.0.2.15 +0ms
portfinder:testPort entered testPort(): trying 10.0.2.15 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK 10.0.2.15 port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is fe80::a00:27ff:fe54:8b1b +0ms
portfinder:testPort entered testPort(): trying fe80::a00:27ff:fe54:8b1b port 60000 +0ms
portfinder:testPort done w/ testPort(): failed fe80::a00:27ff:fe54:8b1b w/ port 60000 with error EINVAL +1ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with an err: EINVAL +0ms
portfinder:getPort in eachSeries() result callback: err is { Error: listen EINVAL fe80::a00:27ff:fe54:8b1b:60000
at Object.exports._errnoException (util.js:1024:11)
at exports._exceptionWithHostPort (util.js:1047:20)
at Server.setupListenHandle [as _listen2] (net.js:1302:19)
at listenInCluster (net.js:1367:12)
at doListen (net.js:1493:7)
at _combinedTickCallback (internal/process/next_tick.js:141:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
code: 'EINVAL',
errno: 'EINVAL',
syscall: 'listen',
address: 'fe80::a00:27ff:fe54:8b1b',
port: 60000 } +1ms
portfinder:getPort in eachSeries() iteration callback: host is 0.0.0.0 +2ms
portfinder:testPort entered testPort(): trying 0.0.0.0 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK 0.0.0.0 port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +1ms
portfinder:getPort in eachSeries() iteration callback: host is 127.0.0.1 +0ms
portfinder:testPort entered testPort(): trying 127.0.0.1 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK 127.0.0.1 port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is ::1 +0ms
portfinder:testPort entered testPort(): trying ::1 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK ::1 port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is 10.0.2.15 +0ms
portfinder:testPort entered testPort(): trying 10.0.2.15 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK 10.0.2.15 port 60000 +1ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is 192.168.230.10 +1ms
portfinder:testPort entered testPort(): trying 192.168.230.10 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK 192.168.230.10 port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is fe80::a00:27ff:fe44:4dd9 +0ms
portfinder:testPort entered testPort(): trying fe80::a00:27ff:fe44:4dd9 port 60000 +0ms
portfinder:testPort done w/ testPort(): failed fe80::a00:27ff:fe44:4dd9 w/ port 60000 with error EINVAL +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with an err: EINVAL +0ms
portfinder:getPort in eachSeries() result callback: err is { Error: listen EINVAL fe80::a00:27ff:fe44:4dd9:60000
at Object.exports._errnoException (util.js:1024:11)
at exports._exceptionWithHostPort (util.js:1047:20)
at Server.setupListenHandle [as _listen2] (net.js:1302:19)
at listenInCluster (net.js:1367:12)
at doListen (net.js:1493:7)
at _combinedTickCallback (internal/process/next_tick.js:141:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
code: 'EINVAL',
errno: 'EINVAL',
syscall: 'listen',
address: 'fe80::a00:27ff:fe44:4dd9',
port: 60000 } +0ms
portfinder:getPort in eachSeries() iteration callback: host is 0.0.0.0 +1ms
portfinder:testPort entered testPort(): trying 0.0.0.0 port 60000 +1ms
portfinder:testPort done w/ testPort(): OK 0.0.0.0 port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is 127.0.0.1 +0ms
portfinder:testPort entered testPort(): trying 127.0.0.1 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK 127.0.0.1 port 60000 +1ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is ::1 +0ms
portfinder:testPort entered testPort(): trying ::1 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK ::1 port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is 10.0.2.15 +0ms
portfinder:testPort entered testPort(): trying 10.0.2.15 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK 10.0.2.15 port 60000 +1ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback: host is 192.168.230.10 +0ms
portfinder:testPort entered testPort(): trying 192.168.230.10 port 60000 +0ms
portfinder:testPort done w/ testPort(): OK 192.168.230.10 port 60000 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60000 +0ms
portfinder:getPort in eachSeries() result callback: openPorts is [ 60000, 60000, 60000, 60000, 60000 ] +0ms
portfinder:getPort in eachSeries() iteration callback: host is 0.0.0.0 +1ms
portfinder:testPort entered testPort(): trying 0.0.0.0 port 60050 +0ms
portfinder:testPort done w/ testPort(): OK 0.0.0.0 port 60050 +1ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60050 +0ms
portfinder:getPort in eachSeries() iteration callback: host is 127.0.0.1 +1ms
portfinder:testPort entered testPort(): trying 127.0.0.1 port 60050 +0ms
portfinder:testPort done w/ testPort(): OK 127.0.0.1 port 60050 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60050 +0ms
portfinder:getPort in eachSeries() iteration callback: host is ::1 +0ms
portfinder:testPort entered testPort(): trying ::1 port 60050 +2ms
portfinder:testPort done w/ testPort(): OK ::1 port 60050 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60050 +0ms
portfinder:getPort in eachSeries() iteration callback: host is 10.0.2.15 +0ms
portfinder:testPort entered testPort(): trying 10.0.2.15 port 60050 +0ms
portfinder:testPort done w/ testPort(): OK 10.0.2.15 port 60050 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60050 +0ms
portfinder:getPort in eachSeries() iteration callback: host is 192.168.230.10 +0ms
portfinder:testPort entered testPort(): trying 192.168.230.10 port 60050 +0ms
portfinder:testPort done w/ testPort(): OK 192.168.230.10 port 60050 +0ms
portfinder:getPort in eachSeries() iteration callback testPort() callback with a success for port 60050 +0ms
portfinder:getPort in eachSeries() result callback: openPorts is [ 60050, 60050, 60050, 60050, 60050 ] +0ms
Running local Graphcool cluster at http://localhost:60000
Running local FaaS runtime at http://localhost:60050
This may take several minutes
$ docker-compose up -d --remove-orphans
docker Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
docker
docker If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
1
Exiting with code: 1
Other info
Expected behaviour?
You seem to have an old version of docker-compose installed. I got the same error then. Error handling for that is tracked here: https://github.com/graphcool/framework/issues/904. Original issue where I got exactly the same error here: https://github.com/graphcool/framework/issues/902
Indeed quite old, apparently. But that's what Ubuntu ships with. I guess I am better off installing docker and docker-compose via other sources.
Here's the command: https://github.com/docker/compose/releases/tag/1.17.0
I've installed the latest for both docker and docker-compose. Same errors.
No, different errors, not the same one. I'll update the debug info in the PR description.
Ok, the issue seems to be with permissions. I came across this old issue on the docker repo: https://github.com/docker/compose/issues/1214 so I tried to add my user to the docker group in the Linux running in my VM. That seems to have done the trick. Currently still running, but at least is not returning an error and is actually doing something.
That worked, though I have no idea how to access the service now running in docker.
Anyway, this issue is resolved.