burke / zeus

Boot any rails app in under a second.
MIT License
3.33k stars 231 forks source link

Zeus crashes inside docker container #543

Closed 23tux closed 8 years ago

23tux commented 8 years ago

Hi,

when I try to run zeus start inside my docker container, it crashes with

Starting Zeus server v0.15.4
Unable to accept socket connection.
[ready] [crashed] [running] [connecting] [waiting]
boot
└── default_bundle
    ├── development_environment
    │   └── prerake
    └── test_environment
        └── test_helper

Available Commands: [waiting] [crashed] [ready]
zeus rake
zeus runner (alias: r)
zeus console (alias: c)
zeus server (alias: s)
zeus generate (alias: g)
zeus destroy (alias: d)
zeus dbconsole
zeus test (alias: rspec, testrb)
It looks like Zeus is already running. If not, remove .zeus.sock and try again.

I checked, and there is NO zeus.sock file present. The strange thing is, that a .zeus.soc is created (note the missing k):

srwxr-xr-x  1      502 dialout     0 Mar 14  2016 .zeus.soc

I'm running docker on top of a ruby:2.1 image on OS X using docker-machine version 0.6.0, build e27fb87 and Docker version 1.10.0, build 590d5108.

I'm bashing inside my container with docker exec -it my_container bash and run zeus start, then the error above occurs.

Running zeus inside the same container on a Linux machine works perfect.

Anybody an idea?

23tux commented 8 years ago

I found this issue https://github.com/burke/zeus/issues/488 which solved my problem.

The key was to set the ZEUSSOCK to a path which is NOT mounted through Virtual Box. My docker-compose.override.yml looks now like this:

my_app:
  environment:
    ZEUSSOCK: /zeus/.zeus.sock

note: You have to create /zeus by hand.