Ruby on rails Errno::EACCES使用Docker rails映像创建rails项目

Ruby on rails Errno::EACCES使用Docker rails映像创建rails项目,ruby-on-rails,docker,Ruby On Rails,Docker,我正在尝试使用official创建我的开发环境,在使用docker build-t my rails应用程序创建容器之后。我尝试使用以下命令引导新应用程序: docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app rails rails new --skip-bundle webapp 得到了这个错误: create /usr/locfrom /usr/local/l

我正在尝试使用official创建我的开发环境,在使用docker build-t my rails应用程序创建容器之后。我尝试使用以下命令引导新应用程序:

docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app rails rails new --skip-bundle webapp
得到了这个错误:

      create
/usr/locfrom /usr/local/lib/ruby/2.3.0/fileutils.rb:253:in `fu_mkdir'ied @ dir_s_mkdir - /usr/src/app/webapp (Errno::EAC
CES)    from /usr/local/lib/ruby/2.3.0/fileutils.rb:227:in `block (2 levels) in mkdir_p'
        from /usr/local/lib/ruby/2.3.0/fileutils.rb:225:in `block in mkdir_p'
        from /usr/local/lib/ruby/2.3.0/fileutils.rb:211:in `mkdir_p'
        from /usr/local/bundle/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:116:in `invoke_with_conflict_check'
        from /usr/local/bundle/gems/thor-0.19.1/lib/thor/actions.rb:94:in `action'b:49:in `invoke!'
        from /usr/local/bundle/gems/railties-4.2.6/lib/rails/generators/app_base.rb:138:in `create_root'ry'
        from /usr/local/bundle/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /usr/local/bundle/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `block in invoke_all'
        from /usr/local/bundle/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `map''
        from /usr/local/bundle/gems/thor-0.19.1/lib/thor/group.rb:232:in `dispatch'ke_all'
        from /usr/local/bundle/gems/railties-4.2.6/lib/rails/commands/application.rb:17:in `<top (required)>'
        from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/local/bundle/gems/railties-4.2.6/bin/rails:9:in `<top (required)>':55:in `require'
        from /usr/local/bundle/bin/rails:22:in `<main>'
创建
/usr/locfrom/usr/local/lib/ruby/2.3.0/fileutils.rb:253:in'fu_mkdir'ied@dir_s_mkdir-/usr/src/app/webapp(Errno::EAC)
CES)从/usr/local/lib/ruby/2.3.0/fileutils.rb:227:in'block(2层)in mkdir_p'
from/usr/local/lib/ruby/2.3.0/fileutils.rb:225:in'block in mkdir\u p'
from/usr/local/lib/ruby/2.3.0/fileutils.rb:211:in'mkdir\u p'
来自/usr/local/bundle/gems/thor-0.19.1/lib/thor/actions/empty_目录。rb:116:“使用冲突检查调用_”
from/usr/local/bundle/gems/thor-0.19.1/lib/thor/actions.rb:94:in'action'b:49:in'invoke!'
from/usr/local/bundle/gems/railties-4.2.6/lib/rails/generators/app_base.rb:138:in'create_root'ry'
from/usr/local/bundle/gems/thor-0.19.1/lib/thor/command.rb:27:in'run'
from/usr/local/bundle/gems/thor-0.19.1/lib/thor/invocation.rb:133:in“block in invoke_all”
from/usr/local/bundle/gems/thor-0.19.1/lib/thor/invocation.rb:133:在“地图”中
from/usr/local/bundle/gems/thor-0.19.1/lib/thor/group.rb:232:in'dispatch'ke_all'
from/usr/local/bundle/gems/railties-4.2.6/lib/rails/commands/application.rb:17:in`'
from/usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in'require'
from/usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in'require'
from/usr/local/bundle/gems/railties-4.2.6/bin/rails:9:in`:55:in`require'
from/usr/local/bundle/bin/rails:22:in`'

如何解决这个问题?

Errno::EACCES
这是关于权限的问题,我建议您从命令
docker run-it--rm-v“$(pwd)”:/usr/src/app-w/usr/src/app-rails-new-webapp中删除用户部分。起初我误解了你的答案,以为你在说/usr文件夹,但后来我意识到你提到了--user开关,它成功了。谢谢,不过还有一个问题。我认为带$(pwd)的-v开关将使/usr/src/app内容在我当前的主机文件夹中可见(同步)。我错了吗?