Prisma1: Docker error when running graphcool local up

Created on 7 Nov 2017  路  8Comments  路  Source: prisma/prisma1

Current behavior

  • Docker fails to spawn the service locally.

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

  • Host system: Mac OS X High Sierra
  • Guest system (where all the stack is running): Ubuntu 16.04 x64 running in a VirtualBox machine managed via vagrant.
  • GraphCool CLI version: graphcool/0.8.1 (linux-x64) node-v8.2.0
  • NodeJS version: v8.2.0 (npm v5.3.0)
  • Docker version: 17.09.0-ce, build afdb6d4
  • docker-compose version: 1.17.0, build ac53b73

Expected behaviour?

  • Docker should not error

All 8 comments

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.

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sorenbs picture sorenbs  路  3Comments

schickling picture schickling  路  3Comments

dohomi picture dohomi  路  3Comments

hoodsy picture hoodsy  路  3Comments

notrab picture notrab  路  3Comments