2015-12-15 45 views
0

一個簡單的示例,我正在嘗試做什麼涉及Dockerfile這樣的:當我嘗試通過/script.sh &&/script.sh調用它兩次時,Docker無法找到我複製到映像的腳本(但一旦正常工作!)

from ubuntu 

COPY script.sh /script.sh 
RUN chmod a+x /script.sh 

和腳本文件是這樣的:

/script.sh

#!/bin/bash 

    echo hi `date` 
    sleep 1 
    echo hi `date` 

我構建和運行這樣的,一切都很好,很正常:

docker build -t client . 
docker run client /script.sh 

當我這樣做時,我看到'嗨'兩次與日期。

現在,如果我要告訴「HI」四次,我想我能做到這一點:

docker run client /script.sh && /script.sh 

但失敗,出現錯誤:

bash: /script.sh: No such file or directory 

很奇怪。 。因爲我提供了完整的路徑/script.sh ..我想知道爲什麼bash找不到它。

對於內置命令,我可以使用'& &'運算符'連鎖'。例如,這工作正常:

docker run client /script.sh && echo it works 

如果任何人都可以啓發我,我會非常感激!

回答

1

將您的命令在主機上解析爲"docker run..." && /script.sh,並得到明顯結果。你可能想要改說docker run ... /bin/bash -c "/script.sh && /script.sh"

+0

完美。謝謝! –

相關問題