Centos7 コンテナ内の Docker nginx php

Centos7 コンテナ内の Docker nginx php

定義により FROM centos:7 を継承し、nginx と php をインストールして PHP ファイルを表示する必要がある Dockerfile を作成する必要があります。

私の Dockerfile:

FROM centos:7
EXPOSE 80/tcp
RUN yum -y update
RUN yum -y install epel-release
RUN yum -y install nginx php php-fpm
RUN echo '<?php phpinfo();' > /var/www/demo/index.php

私の問題:

  1. コンテナが作成されて起動されたときに nginy を起動する必要があることを docker に理解させるにはどうすればよいですか?
  2. nginx に PHP の使用を理解させるにはどうすればよいですか?

1.私が知っているのは、これが不可能だということだけですドッカービルド

2. チュートリアルを使用したかったのですが、次の理由によりすべて間違っています。

  • /etc/nginx/sites-availableディレクトリがありません
  • snippets/fastcgi-php.confnginx.confに含めるべきファイルがどこにも存在しない

これまで nginx を使ったことがないので、どこから始めたらよいのかわかりません。ファイルやフォルダがすべて存在しないため、見つけたチュートリアルはどれも機能しません。表示されるのは 403 エラー ページだけです。

答え1

これは私があなたにいつか持っているアプローチです、あなたはnginxをインストールして設定する必要がありますDockerファイルドッカーを実行するときにいつでも起動するには、これをオンにしますdocker-entrypoint.sh

Dockerファイル:

#Install and config Nginx
RUN {\
    apt-get install nginx -y\
    rm /etc/nginx/sites-enabled/default\
    }

ADD YOUR_CONFIG_FILE /etc/nginx/sites-enabled/
RUN service nginx start


RUN PATH="$PATH:docker-entrypoint.sh"
COPY docker-entrypoint.sh /
RUN chmod +x docker-entrypoint.sh
ENTRYPOINT ["./docker-entrypoint.sh"]

docker-entrypoint.sh:

#!/bin/bash

service nginx start
 
/bin/bash

それが役に立てば幸い!

答え2

私は以下のコードを追加することでコンテナを生きたまま維持することができました

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

あなたと他の同僚の役に立つことを願っています

関連情報