2016-04-11 11 views
5

私はdockerfileを作成してaiiというイメージを作成しました。docker run [9]システムエラー:exec形式のエラー

FROM docker.io/centos:latest 

#Set parameters 
ENV BinDir /usr/local/bin 
ENV RunFile start-aii.sh 

ADD ${RunFile} ${BinDir} 
#Some other stuff 
... 

CMD ${RunFile} 

私は、次のコマンドを使用してイメージを実行します。

docker run -it -v <some-volume-mapping> aii 

それはだが、偉大な(start-aii.shのCMDコマンドを実行し、デフォルトの動作)動作します。私も試してみました

docker run -it -v <some-volume-mapping> aii start-aii.sh kafka 
exec format error 
docker: Error response from daemon: Cannot start container b3f4f3bde04d862eb8bc619ea55b7061ce78ace8f1984a12f6ec681877d7d926: [9] System error: exec format error. 

:スクリプトのみ(なしの私は、このデフォルトの動作をオーバーライドすると、暗黙的に同じスクリプトを使用してイメージを実行(および他の引数を追加)しようとした場合 は今、私は次のエラーを取得しています引数)

docker run -it -v <some-volume-mapping> aii start-aii.sh 

とフルパススクリプト

docker run -it -v <some-volume-mapping> aii /usr/local/bin/start-aii.sh 

にも同様のエラーが表示されます。

別情報:

docker ps -a 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS    NAMES 
2488a4dd7014  aii     "start-aii.sh kafka"  3 seconds ago  Created         tiny_payne 

任意の提案ですか?

おかげ

答えて

3

はそのように、あなたのスクリプトを使用する前に、bashのを起動しようとすると、ジョブが終了したら、インスタンスを破壊するために--rmフラグを使用します。

docker run -it --rm -v <some-volume-mapping> aii /bin/bash /usr/local/bin/start-aii.sh 
+0

--rmのチップのおかげで、私はそれを知りませんでした。私はbashの問題をチェックしています、私はすぐに更新されます – ItayB

+0

作品! 10倍も! – ItayB

4

は同じ問題を持っていました、他のコメントを書くのではなく、ファイルの先頭に#!/bin/shを追加して修正しました。

+0

素晴らしい!チップありがとう;-) – ItayB

関連する問題