2017-05-29 38 views
1

我創建了一個應該依次運行三個進程的docker文件:a.py,b.py,c.py.它們全部保存在主文件夾(/root/my_docker/)中,與bin文件夾(build_container.sh和run_container.sh所在的位置)以及lib文件夾(其中所需的其他腳本所在位置)並行。我創建了一個主代碼(d.sh)就是這樣:在Docker中運行三個進程,找不到未找到的最後一個.py文件

#!/bin/sh 
a.py && b.py && c.py 

其位於平行於a.py,b.py,c.py並應在序列運行它們。然而,儘管它運行a.py,順利b.py,它運行c.py之前停止,並顯示以下錯誤消息:

/root/my_docker/d.sh: 3: /root/my_docker/d.sh: c.py: not found 

我多次檢查該c.py在指定的文件夾中存在。

任何幫助,歡迎。

謝謝

+0

改用絕對路徑,它會工作 – haifzhan

+0

每個a.py,b.py和c.py的第一行是什麼? (以'#!...'開頭的行) – Robert

+0

第一行是#!/ usr/bin/env python –

回答

0

爲了避免路徑問題和chmod的問題,它們傳遞給Python解釋:

#!/bin/sh 
python a.py && python b.py && python c.py 

,並避免在未來丟失的文件,你可以使用通配符:

COPY *.py /root/my_docker/ 
+0

我對c.py做了一個chmod修復,但沒有幫助這個特殊的問題。至於提示性的建議,還沒有。我仍然越來越... python:無法打開文件'c.py':[Errno 2]沒有這樣的文件或目錄 –

+0

你能試試嗎? 'python a.py && python b.py && ls -la' – Robert

+0

drwxr-xr-x 65 root root 4096 May 29 20:46。 drwxr-xr-x 65 root root 4096 May 29 20:46 .. lrwxrwxrwx 1 root root 7 Mar 20 23:40 bin - > usr/bin drwxr-xr-x 2 root root 4096 Jan 15 22:00 boot drwxr-xr-x 11 root root 374 May 29 19:08 data –

相關問題