2016-04-11 13 views
5

Stworzyłem plik Dockerfile, aby zbudować mój obraz o nazwie aii.uruchom dokera [9] Błąd systemu: błąd formatu 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} 

Kiedy uruchomić obraz z następującego polecenia:

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

to działa świetnie (domyślne działanie uruchamiając polecenie CMD z start-aii.sh). Teraz, gdy próbuję zmienić to domyślne zachowanie i uruchomić obraz z tego samego skryptu w sposób dorozumiany (i dodać kolejną Arg) Dostaję następujący błąd:

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. 

Próbowałem również: Tylko skrypt (bez Argument)

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

i pełną ścieżkę do skryptu

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

ale ten sam błąd pojawia się.

Kolejna informacja:

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

Wszelkie sugestie?

Dzięki

Odpowiedz

3

Spróbuj uruchomić bash przed użyciem skryptu i użyć flagi --rm w celu zniszczenia instancji raz kończy się praca, tak:

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

dziękuję za podpowiedź --rm, nie wiedziałem, że .. Sprawdzam problem z bashem, wkrótce go zaktualizuję – ItayB

+0

Działa! 10x dużo! – ItayB

4

miał ten sam problem, naprawiono go, dodając #!/bin/sh u góry pliku zamiast innych komentarzy.

+0

Świetnie! Dzięki za wskazówkę ;-) – ItayB