2017-06-15 98 views
0

我按照說明構建了一個Donkey Car 2,我試圖使用docker啓動webserver。當我嘗試使用docker鏡像運行donkeycar服務器時,爲什麼會出現錯誤?

當我運行bash start-server.sh我得到以下錯誤:

start-server: Running Donkey server container... 
Using TensorFlow backend. 
Loading modules for server. 
hello 
Traceback (most recent call last): 
    File "/donkey/scripts/serve.py", line 12, in <module> 
    w = dk.remotes.DonkeyPilotApplication() 
    File "/donkey/donkey/remotes.py", line 175, in __init__ 
    self.pilots = ph.default_pilots() 
    File "/donkey/donkey/pilots.py", line 84, in default_pilots 
    pilot_list = self.pilots_from_models() 
    File "/donkey/donkey/pilots.py", line 71, in pilots_from_models 
    models_list = [f for f in os.scandir(self.models_path)] 
FileNotFoundError: [Errno 2] No such file or directory: '/root/mydonkey/models' 

我如何得到這個工作?

+1

我的猜測是,應用程序沒有位於/root/....Have你訪問你的搬運工容器上看到的應用程序是部署?我認爲這應該在Dockerfile中定義?您是否在Dockerfile中設置了APP_ROOT? – idjaw

+0

在Windows 7上使用docker時,我也遇到了很多麻煩。腳本似乎聲稱在/ root下創建文件,但沒有找到這樣的目錄。在〜中創建文件並沒有什麼幫助。至少在Windows中,我很難確定docker認爲文件系統的根源在哪裏。它似乎認爲我的主目錄是/ c/emacs,並把所有前面加上「〜」,包括〜/驢和〜/ mydonkey,但是如果我做了一個「ls /」它甚至不顯示/ c,但看起來更像是unix。我無法成功運行「docker run python ./setup.py」。 –

回答

0

我明白了這一點。

  1. 運行bash start-server -d(帶-d標誌)通過終端提示符打開泊塢窗。
  2. 在碼頭終端內部,運行python scripts/setup.py以在~/mydonkey文件夾中創建必需的文件夾。
  3. 現在,您可以通過在碼頭終端內運行python scripts/serve.py來啓動服務器。

當您收集了一些圖片後,您會在~/mydonkey文件夾中的泊塢窗內外看到它們。

+2

你應該寫一個dockerfile來替你完成所有這些。使用dockerfile,您只需使用最新的代碼更改來構建映像,然後使用該docker運行該映像,並且您將用最新的代碼部署一個容器。你真的不應該去你的碼頭容器來把你的應用程序。 – idjaw

+0

[這裏](https://docs.docker.com/engine/reference/builder/)是dockerfiles的參考文件 – idjaw

+0

「docker run python ./setup.py」不適用於我,並導致「文件找不到「錯誤,甚至使用諸如/donkey/scripts/setup.py,〜/ donkey/scripts/setup.py等等的變體等。這是在」Docker快速入門終端「中的Windows 7上。幫幫我? –

2

A simple change到start-server.sh腳本解決了我的問題。 更改線路4:

mkdir -p ~/mydonkey

這樣:

mkdir -p ~/mydonkey/models

+0

如果詳細說明簡單更改是什麼,可能會有所幫助? – agilityvision

+0

我希望現在更清楚。 –

相關問題