質問: Amazon Linux2 Container Image を Docker for Mac で動かしてみたの記事様を参考に、 Amazon Linux2のイメージを`docker pull amazonlinux:2.0.20180622.1`してみましたが、 少しかじった知識では、Dockerの場合、 Webサーバと違いこの中に`yum install php`(AmazonLinux2の場合は`amazon-linux-extras install`?)をしては駄目な気がします。 `amazon-linux-extras install`コマンドは認識したので、最悪これでもできるかとは思いますが... 私の認識では、 * php-fpmのイメージ * nginxのイメージ * MySQLのイメージ をそれぞれ`docker-compose.yml`に定義し、それぞれを独立したマイクロサービス化(?)した感じで構築していくと思っています。 なので、よくある例では、nginxなどのイメージにOSが付与されいる(例えば「`nginx:mainline-alpine`」)ので、 docker hubでAmazon Linx2のOSがついたphp-fpmかnginxを探してみたのですが、 ほしいものが見つかりません。 この場合、どの様に環境構築するのが正しいのでしょうか? Amazon Linux2のイメージに直接`amazon-linux-extras install`コマンドでほしい機能(nginx, php-fpm, mysql)を入れていくのでしょうか? ご教示いただけますと幸いです。
回答: > > どの様に環境構築するのが正しい > > > ただ、単純に検証環境をローカルに作りたいということであれば、 amazonlinux:2.0.20180622.1イメージをベースとして、dockerfileでご自身がセットアップしたい手順を記載し、イメージを作成するのがよろしいかと。 また、検証環境をローカルにという意図からすると、サービスごとにインスタンスを立ち上げる必要は必ずしもないかと。ポイントは本番環境と同等の環境をローカルに作ることが目的なのですから。将来的にこうしたいという何かがあれば別ですが。