2016-07-19 19 views
-1

次のドッカーファイルがあります。シェルスクリプトが終了したときにDockerを実行し続ける

FROM ubuntu 
RUN apt-get update 
EXPOSE 9000:80 

# Install nginx 
RUN apt-get install -y nginx 

# Install Curl 
RUN apt-get -qq update 
RUN apt-get -qq -y install curl 
ENTRYPOINT service nginx start 

私はシェルスクリプトで次のコマンドを実行しようとすると、ドッキングウィンドウの画像が に作成され、コンテナはシェルスクリプトが終了したときに、ドッキングウィンドウコンテナが停止している、しかし、開始されます。

シェルスクリプトが終了した後にドッカーコンテナを実行するにはどうすればよいですか?ポート9000を使用してホストからアクセスできるnginxをポート80で実行しているコンテナを実行することです。

答えて

2

nginxをバックグラウンドサービスとして実行しないでください。 hub.docker.comのnginxのコンテナが行うようフォアグラウンドでそれを起動します:pidの1ダイは、あなたのコンテナが死んコンテナと

CMD ["nginx", "-g", "daemon off;"] 

、。 Linuxマシンでpid 1(init)をkillする場合と同じです。

+0

私のコメントは無視してください。 – user451445

+0

実行後、イメージ名の前に '-d'を指定して呼び出します。 – BMitch

関連する問題