solidus
solidus copied to clipboard
Docker demo does not start on M1 macs
Attempting to start the docker demo on a clean macOS M1 machine results in the error,
`initialize': Function not implemented - Failed to initialize inotify (Errno::ENOSYS)
The solution offered in docker/for-mac is to provide arm64 images.
Solidus Version:
Not applicable. The version used in the docker image.
To Reproduce
Run the docker command,
docker run --rm -it -p 3000:3000 solidusio/solidus-demo:latest
Current behavior
The command outputs:
% docker run --rm -it -p 3000:3000 solidusio/solidus-demo:latest Unable to find image 'solidusio/solidus-demo:latest' locally latest: Pulling from solidusio/solidus-demo bc9ab73e5b14: Pull complete 193a6306c92a: Pull complete e5c3f8c317dc: Pull complete a587a86c9dcb: Pull complete 72744d0a318b: Pull complete 31d57ef7a684: Pull complete a2a726425592: Pull complete 4f2f2375eda7: Pull complete 85c0c9794ff1: Pull complete fcc022f6df4e: Pull complete 27b98e5a1429: Pull complete c6a03bcf8650: Pull complete 24ab9672b0a0: Pull complete 084b4485679a: Pull complete Digest: sha256:dbf7417d319693ca88ac34f2a89836d9fb88a43127f06d13caa8d92a0f9633fc Status: Downloaded newer image for solidusio/solidus-demo:latest WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested => Booting Puma => Rails 5.2.2 application starting in development => Run
rails server -hfor more startup options Exiting Traceback (most recent call last): 80: from bin/rails:4:in<main>' 79: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:inrequire' 78: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:inload_dependency' 77: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:inblock in require' 76: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:inrequire' 75: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:inrequire_with_bootsnap_lfi' 74: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:83:inregister' 73: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:inblock in require_with_bootsnap_lfi' 72: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:inrequire' 71: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/commands.rb:18:in' 70: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/command.rb:46:in invoke' 69: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/command/base.rb:65:inperform' 68: from /usr/local/bundle/gems/thor-0.20.3/lib/thor.rb:387:indispatch' 67: from /usr/local/bundle/gems/thor-0.20.3/lib/thor/invocation.rb:126:ininvoke_command' 66: from /usr/local/bundle/gems/thor-0.20.3/lib/thor/command.rb:27:inrun' 65: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/commands/server/server_command.rb:142:inperform' 64: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/commands/server/server_command.rb:142:intap' 63: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/commands/server/server_command.rb:147:inblock in perform' 62: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/commands/server/server_command.rb:51:instart' 61: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/commands/server/server_command.rb:89:inlog_to_stdout' 60: from /usr/local/bundle/gems/rack-2.0.6/lib/rack/server.rb:354:inwrapped_app' 59: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/commands/server/server_command.rb:27:inapp' 58: from /usr/local/bundle/gems/rack-2.0.6/lib/rack/server.rb:219:inapp' 57: from /usr/local/bundle/gems/rack-2.0.6/lib/rack/server.rb:319:inbuild_app_and_options_from_config' 56: from /usr/local/bundle/gems/rack-2.0.6/lib/rack/builder.rb:40:inparse_file' 55: from /usr/local/bundle/gems/rack-2.0.6/lib/rack/builder.rb:49:innew_from_string' 54: from /usr/local/bundle/gems/rack-2.0.6/lib/rack/builder.rb:49:ineval' 53: from config.ru:in' 52: from config.ru:in new' 51: from /usr/local/bundle/gems/rack-2.0.6/lib/rack/builder.rb:55:ininitialize' 50: from /usr/local/bundle/gems/rack-2.0.6/lib/rack/builder.rb:55:ininstance_eval' 49: from config.ru:3:inblock in' 48: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:44:in require_relative' 47: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:inrequire' 46: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:inload_dependency' 45: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:inblock in require' 44: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:inrequire' 43: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:inrequire_with_bootsnap_lfi' 42: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:83:inregister' 41: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:inblock in require_with_bootsnap_lfi' 40: from /usr/local/bundle/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:inrequire' 39: from /solidus/sandbox/config/environment.rb:5:in' 38: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/application.rb:361:in initialize!' 37: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/initializable.rb:60:inrun_initializers' 36: from /usr/local/lib/ruby/2.5.0/tsort.rb:205:intsort_each' 35: from /usr/local/lib/ruby/2.5.0/tsort.rb:226:intsort_each' 34: from /usr/local/lib/ruby/2.5.0/tsort.rb:347:ineach_strongly_connected_component' 33: from /usr/local/lib/ruby/2.5.0/tsort.rb:347:incall' 32: from /usr/local/lib/ruby/2.5.0/tsort.rb:347:ineach' 31: from /usr/local/lib/ruby/2.5.0/tsort.rb:349:inblock in each_strongly_connected_component' 30: from /usr/local/lib/ruby/2.5.0/tsort.rb:431:ineach_strongly_connected_component_from' 29: from /usr/local/lib/ruby/2.5.0/tsort.rb:350:inblock (2 levels) in each_strongly_connected_component' 28: from /usr/local/lib/ruby/2.5.0/tsort.rb:228:inblock in tsort_each' 27: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/initializable.rb:61:inblock in run_initializers' 26: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/initializable.rb:32:inrun' 25: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/initializable.rb:32:ininstance_exec' 24: from /usr/local/bundle/gems/railties-5.2.2/lib/rails/application/finisher.rb:75:inblock in <module:Finisher>' 23: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/lazy_load_hooks.rb:51:inrun_load_hooks' 22: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/lazy_load_hooks.rb:51:ineach' 21: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/lazy_load_hooks.rb:52:inblock in run_load_hooks' 20: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/lazy_load_hooks.rb:67:inexecute_hook' 19: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/lazy_load_hooks.rb:62:inwith_execution_control' 18: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/lazy_load_hooks.rb:69:inblock in execute_hook' 17: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/i18n_railtie.rb:19:inblock in class:Railtie' 16: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/i18n_railtie.rb:61:ininitialize_i18n' 15: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/i18n_railtie.rb:61:innew' 14: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/evented_file_update_checker.rb:67:ininitialize' 13: from /usr/local/bundle/gems/activesupport-5.2.2/lib/active_support/evented_file_update_checker.rb:96:inboot!' 12: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/listener.rb:91:instart' 11: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/fsm.rb:57:intransition' 10: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/fsm.rb:91:intransition_with_callbacks!' 9: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/fsm.rb:121:incall' 8: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/fsm.rb:121:ininstance_eval' 7: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/listener.rb:68:inblock in class:Listener' 6: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/adapter/base.rb:63:instart' 5: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/adapter/base.rb:40:inconfigure' 4: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/adapter/base.rb:40:ineach' 3: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/adapter/base.rb:45:inblock in configure' 2: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/adapter/linux.rb:31:in_configure' 1: from /usr/local/bundle/gems/listen-3.1.5/lib/listen/adapter/linux.rb:31:innew' /usr/local/bundle/gems/rb-inotify-0.10.0/lib/rb-inotify/notifier.rb:63:in `initialize': Function not implemented - Failed to initialize inotify (Errno::ENOSYS)
Expected behavior
The docker container starts properly and the solidus demo is accessible at http://localhost:3000/.
Screenshots
Not applicable.
Desktop (please complete the following information):
- Chip: Apple M1 Max
- OS: macOS 12.5.1
- Browser: Not applicable
- Version: Not applicable
Additional context
Not applicable
Thanks for your report, @jeffmagill. We decided not to maintain the docker image anymore, as it's a maintenance burden for the team that gives very little value.
If you want to check how a default Solidus installation visualization looks, you can check the demo site. Also, notice that the development environment is dockerized. You only need to clone, run docker-compose up -d, and spin up the rails server with docker-compose exec app bin/rails server --binding 0.0.0.0.
I'm sorry you had to find the issue, though. Let me know if you need anything else.