2017-10-06 1 views
1

Ich möchte meine Anwendung dockerize und ich möchte meinen Behälter, um laufen und geben Sie, um zu sehen, ob richtig wurden Pakete installiert, die Dateien kopiert wurden, usw.Unable Schale in meinem Behälter laufen

Hier ist meine Dockerfile:

FROM node:8.6 
RUN mkdir /app 
WORKDIR /app 
COPY .*.json . 
COPY src/ . 
USER node 
RUN yarn global add @angular/cli 
EXPOSE 4200 

Das Problem ist, ich kann nicht mein Behälter über docker run laufen:

docker run my-notes -it --rm ash 

ich Fehler sehen:

container_linux.go:262: starting container process caused "exec: \"-it\": executable file not found in $PATH" 
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: \"-it\": executable file not found in $PATH". 
ERRO[0000] error waiting for container: context canceled 

Was mache ich falsch?

Antwort

2

Das Problem ist, dass Sie die Docker Optionen vor dem Bildnamen nicht danach übergeben müssen:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 

Ich habe diese Frage beantwortet here auch. Ich hoffe es hilft.

+1

Auch 'ash' existiert nicht im' node' Bild – Matt

+0

Das war mein Problem! Vielen Dank! – TheOpti

0

Das Bild node wird mit sh, bash und dash geliefert.

Wenn Sie ash Sie das Paket installieren können, aber es ist nur ein symbolischer Link auf /bin/dash so können Sie einfach laufen:

docker run -it --rm my-notes dash 

die ash-Paket zu installieren, fügen Sie folgendes zu Ihrem Dockerfile

RUN set -uex; \ 
    apt-get update; \ 
    apt-get install ash; \ 
    apt-get 

Dann ash/dash mit

ausgeführt werden