2016-05-10 10 views
3

Ich habe Probleme mit Docker.Docker Container Befehl nicht gefunden oder existiert nicht

Hier ist meine DockerFile

FROM alpine:3.3 

WORKDIR/

COPY myinit.sh /myinit.sh 

ENTRYPOINT ["/myinit.sh"] 

myinit.sh

#!/bin/bash 
set -e 

echo 123 

Das ist die Art, wie ich mein Bild bauen

docker build -t test --no-cache 

Run-Logs

Sending build context to Docker daemon 3.072 kB 
Step 1 : FROM alpine:3.3 
---> d7a513a663c1 
Step 2 : WORKDIR/
---> Running in eda8d25fe880 
---> 1dcad4f11062 
Removing intermediate container eda8d25fe880 
Step 3 : COPY myinit.sh /myinit.sh 
---> 49234cc3903a 
Removing intermediate container ffe6227c921f 
Step 4 : ENTRYPOINT /myinit.sh 
---> Running in 56d3d748b396 
---> 060f6da19513 
Removing intermediate container 56d3d748b396 
Successfully built 060f6da19513 

Das ist, wie ich den Behälter laufen

docker run --rm --name test2 test 

docker: Error response from daemon: Container command '/myinit.sh' not found or does not exist.. 

myinit.sh sicher existieren. Hier ist ls -al

ls -al 
total 16 
drwxr-xr-x 4 lorddaedra staff 136 10 май 19:43 . 
drwxr-xr-x 25 lorddaedra staff 850 10 май 19:42 .. 
-rw-r--r-- 1 lorddaedra staff 82 10 май 19:51 Dockerfile 
-rwxr-xr-x 1 lorddaedra staff 29 10 май 19:51 myinit.sh 

Warum kann es mein Einstiegspunkt Skript nicht sehen? Irgendwelche Lösungen?

Dank

Antwort

7

Es ist nicht der Einstiegspunkt Skript es nicht finden können, aber die Schal es Referenzierung - alpin: 3.3 standardmäßig nicht im Innern hat bash. Ändern Sie Ihre myinit.sh zu:

#!/bin/sh 
set -e 

echo 123 

heißt Referenzierung /bin/sh statt /bin/bash

Verwandte Themen