Mit Docker, würde Ich mag eine Umgebung einzurichten, wo ich Änderungen auf lokale Dateien machen, während der Behälter die Dateien dient.Docker/Rails - Zugriff verweigert @ dir_s_mkdir Errno :: EACCESS
Allerdings habe ich den folgenden Fehler wurde immer nach docker-compose run web
läuft:
=> Booting WEBrick
=> Rails 5.0.0.1 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
Exiting
/usr/local/lib/ruby/2.3.0/fileutils.rb:253:in `mkdir': Permission denied @ dir_s_mkdir - /usr/src/app/tmp (Errno::EACCES)
from /usr/local/lib/ruby/2.3.0/fileutils.rb:253:in `fu_mkdir'
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 `reverse_each'
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 `each'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:211:in `mkdir_p'
from /usr/local/bundle/gems/railties-5.0.0.1/lib/rails/commands/server.rb:119:in `block in create_tmp_directories'
from /usr/local/bundle/gems/railties-5.0.0.1/lib/rails/commands/server.rb:118:in `each'
from /usr/local/bundle/gems/railties-5.0.0.1/lib/rails/commands/server.rb:118:in `create_tmp_directories'
from /usr/local/bundle/gems/railties-5.0.0.1/lib/rails/commands/server.rb:75:in `start'
from /usr/local/bundle/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:90:in `block in server'
from /usr/local/bundle/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:85:in `tap'
from /usr/local/bundle/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:85:in `server'
from /usr/local/bundle/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
from /usr/local/bundle/gems/railties-5.0.0.1/lib/rails/commands.rb:18:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
Die Laufwerke auf Docker Einstellungen geteilt werden, mein Windows-Konto ist Administrator, die Powershell Ich renne diese Befehle at läuft als Administrator, und der Benutzer des Containers ist root, also kann ich wirklich nicht finden, welche Berechtigung fehlt.
Ich verwende Docker für Windows mit Hyper-v Treiber und die folgende Dockerfile und Docker-compose.yml sind in das Verzeichnis der Anwendung:
Dockerfile
docker-compose.yml
Dank Roberto, nicht auf dieses Problem speziell, aber wenn Sie ein Volume mit dem Container (auf C:/Benutzer) teilen, musste ich mir diese Berechtigungen geben. Administratorrechte unter Windows sind sehr verwirrend ... –