2016-08-22 5 views
0

は今、私は(Dockerfile)という名前のドッキングウィンドウのファイルを作っ:このドッカーファイルがシェルスクリプトで実行されていないのはなぜですか?次のように

私は、次のコマンドを使用して、これを構築する場合:

docker build -f Dockerfile . 

を私は次のような出力が得られます。

Step 1 : FROM ******.dkr.ecr.us-east-1.amazonaws.com/centos-base:7 
---> 9ab68a0dd16a 
Step 2 : COPY echo_hello.sh /echo_hello.sh 
---> Using cache 
---> e7d541f5cf53 
Step 3 : RUN bash /echo_hello.sh 
---> Running in 4b5518faab28 
hello world 
hello world 
....... 

しかし、次のコマンドを使用して実行を開始すると、次のコマンドを実行します。

docker run -it d2cc33b16e8f 

これは発生しません、代わりにそれがエラーを私に示しています

コマンドを、私はこの中で間違ったつもりアプリケーション

を開始するために実行するために?

FROM *******.dkr.ecr.us-east-1.amazonaws.com/centos-base:7 
COPY echo_hello.sh /echo_hello.sh 
RUN chmod u+x /echo_hello.sh 
CMD /echo_hello.sh 

このページでは、かなりよくDockerfile命令について説明します:あなたは次のようにあなたのDockerfileを変更する必要があります

答えて

0

RUNコマンドはビルド時に実行されます(あなたをdo a docker build)。必要なものはCMDまたはENTRYPOINTです。いずれかの設定は、コンテナの起動時に実行される実行可能ファイルを設定します(docker run経由)

あなたのDockerファイルは、@Rezneyの答えと似ています。