Running guard with docker-compose fails due to inotify limit

Expected behavior

running gem guard will work.

Actual behavior

fails with:
14:54:42 - INFO - Guard::RSpec is running
FATAL: Listen error: unable to monitor directories for changes.
Visit https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers for info on how to fix this.
/cache/bundler/gems/listen-3.0.4/lib/listen/fsm.rb:76:in validate_and_sanitize_new_state': Listen::Listener can't change state from 'backend_started' to 'stopped', only to: frontend_ready (ArgumentError) from /cache/bundler/gems/listen-3.0.4/lib/listen/fsm.rb:55:intransition’
from /cache/bundler/gems/listen-3.0.4/lib/listen/listener.rb:98:in stop' from /cache/bundler/gems/guard-2.13.0/lib/guard/aruba_adapter.rb:48:inexecute’
from /cache/bundler/gems/guard-2.13.0/lib/guard/aruba_adapter.rb:19:in execute!' from /cache/bundler/gems/guard-2.13.0/bin/_guard-core:11:in

Information

Docker for Mac: version: mac-v1.12.0-beta17
OS X: version 10.11.5 (build: 15F34)
logs: /tmp/20160630-105034.tar.gz
[OK] docker-cli
[OK] app
[OK] menubar
[OK] virtualization
[OK] system
[OK] osxfs
[OK] db
[OK] slirp
[OK] moby-console
[OK] logs
[OK] vmnetd
[OK] env
[OK] moby
[OK] driver.amd64-linux

  • a reproducible case if this is a bug, Dockerfiles FTW
  • page URL if this is a docs issue or the name of a man page
  • host distribution and version ( OSX 10.10.x, OSX 10.11.x, Windows, etc )

following instructions at https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers as a RUN command in the docker file fails with readonly file system error.

This almost certainly needs to be done on the VM that hosts the docker containers, not the containers themselves.

Which raises a big question: is it even possible to access that VM? I swear pinata had an ssh command, but I don’t remember for certain — and pinata is retired anyways.

Might be possible with a privileged container or possibly a host volume, has anyone tried either of those yet?

But as long as this is an issue (there’s copies of this issue going back months), Docker for Mac is literally worthless to me. I can run anything except Guard in Docker, but why bother setting up two development environments on the same machine (one in docker and one outside)

Hi @nuck. I’ve seen these commands in some posts and use the following aliases in my .bashrc or .bash_profile to access the VM :

    alias d="screen -r docker"
    alias dq="screen -S docker -X quit"```

Just use in sequence `ds` to setup the screen session and `d` to go into the VM (login root should work) and  `dq` to 
quit the screen session

Hello,

fs.inotify.max_user_watches has been increased to 512k in Beta 21/1.12.

Thanks for participating in the Docker for Mac Beta!

Best regards,

David