2017-06-13 3 views
2

私はnginxに基づいてドッカー画像を作成し、自分自身の画像にconfigを含めました。DockerのNginxは、直接終了します

次に、コンテナ(docker run -p 2000:80 nginx_be:0.1)を起動します。 稼働中のコンテナがdocker psであることを確認しないときは、何もありません。

私には何が欠けていますか?

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

あなたは、コンテナを作ることになる、デーモン(バックグラウンド)としてnginxの起動を避けるために、同じことを行う必要があります。

マイDockerfile

FROM nginx 
ADD /conf/nginx.conf /etc/nginx/nginx.conf:ro 
WORKDIR /etc/nginx 
EXPOSE 80 
CMD ["nginx", "-c", "/etc/nginx/nginx.conf"] 

答えて

3

最新nginx Dockerfileはで終わりません直ちに停止する(フォアグラウンドプロセスがないため)。
How to Keep Docker Container Running After Starting Services?」も参照してください。

また、あなたのDockerfile CMDを上書きthis docker run commandを見ることができます:

これだけ
docker run -t -d --name my-nginx nginx /usr/sbin/nginx -g "daemon off;" 
+0

!ありがとう。コマンドの追加は機能します。 –

+1

@BoasEnklerはい、Dockerfileを編集せずにこのコマンドをテストする方法を強調するための答えを編集しました/最初にイメージを構築してください。 – VonC

関連する問題