2017-09-15 79 views
0

我在本地機器上安裝了Docker Toolbox,我試圖運行Ruby命令來執行數據庫遷移。我現在用的是泊塢窗工具箱快速啓動終端命令行內的下列泊塢窗命令:Docker工具箱:找不到Gemfile,因爲Host目錄未安裝到主目錄

docker-compose run app /usr/local/bin/bundle exec rake db:migrate 
docker-compose run app bundle exec rake db:create RAILS_ENV=production 
docker-compose run app /usr/local/bin/bundle exec rake db:seed 

但是,這些命令被稱爲後,我收到以下錯誤:

Could not locate Gemfile or .bundle/ directory 

在碼頭工人工具箱,我在我的項目目錄中運行這些命令(C:\ project)。

之後做一些研究,看來我需要的地方安裝我主機目錄我首頁目錄中。

所以我嘗試使用以下多克爾mount命令:

docker run --mount /var/www/docker_example/config/containers/app.sh:/usr/local/bin 

docker run --mount /var/www/docker_example/config/containers/app.sh:/c/project 

這些命令是給我下面的錯誤:

invalid argument "/var/www/docker_example/config/containers/app.sh:/usr/local/bin" for --mount: invalid field '/var/www/docker_example/config/containers/app.sh:/usr/local/bin' must be a key=value pair 
See 'docker run --help' 

以下是我在我的搬運工,撰寫。 YML文件:

泊塢窗,compose.yml:

app: 
    build: . 
    command: /var/www/docker_example/config/containers/app.sh 
    volumes: 
     - C:\project:/var/www/docker_example 
    expose: 
     - "3000" 
     - "9312" 
    links: 
    - db 
    tty: true 

任何幫助將不勝感激!

+0

您是從Windows的Git的Bash或碼頭快速入門終端上運行呢? –

+0

Docker快速入門終端。 –

回答

1

這個問題是因爲你在windows上運行。您需要Docker機器和主機之間的共享文件夾。

Shared folder

以上就是我的Mac上。您可以看到我的/Users在虛擬機中共享爲/Users。這意味着,當我做

docker run -v ~/test:/test ... 

將分享/Users/tarun.lalwani/test虛擬機裏面/test容器內。現在自VM內部的/Users共享給我的主機,這將完美工作。但是,如果我做

docker run -v /test:/test ... 

那麼即使我有我的Mac上/test它不會被共享。因爲主機裝載路徑依賴於Docker主機服務器。

因此,在你的情況下,你應該檢查哪個文件夾被共享,然後檢查共享的路徑。假設C:\/c共享,那麼你會使用下面來獲取VM內部文件

docker run -v /c/Project:/var/www/html .. 
+0

通過使用docker命令,我將如何配置共享哪個文件夾以及共享的路徑?當我運行這些命令時,我實際上想要用'/ c'來共享C:\。 –

+0

你將不得不通過打開VirtualBox,去Docker-machine虛擬機,右鍵點擊 - >設置 - >共享文件夾,然後添加你想要共享的文件夾 –

+0

Ok,所以我進入了VirtualBox並更改了共享文件夾以便設置爲「文件夾路徑:C:\項目」和「文件夾名稱:項目」。當我運行原始命令'docker-compose run app/usr/local/bin/bundle exec rake db:migrate docker-compose run app bundle exec rake db:create RAILS_ENV = production docker-compose run app/usr/local/bin/bundle exec rake db:seed'我還是一樣'找不到Gemfile'錯誤。 –