なまけものノこえだめなまけものノこえだめインターネッツという大海原にクソみたいな投稿を繰り返すのは申し訳なく思い、インターネットの片隅に肥溜めを配置しました。非常に環境に優しいブログです。HatenaRSSFeedly本番運用を想定して、Docker上にWordpressを構築するために公式イメージでどういった設定がされているのか読み解く必要がありました(ブラックボックスのものをそのまま使うわけにはいかない)。PHP-FPMの公式Dockerfileの内容を確認していきます。今回は、7.2-fpm-alpineのイメージを読んでいきます。Dockerfileの1行目から順にDockerレイアごとに確認していきます。alpine:3.10ベースイメージとして、alpine:3.10が利用されていることがわかります。alpineの公式イメージ上では、latestとなっていることから最新のalpineバージョンが利用されています。\re2c8、9行目の説明にもあるように、phpizeを実行するために必要なパッケージを定義しています。https://github.com/docker-library/php/issues/494opensslランタイムに必要なパッケージをインストールします。コメントは、なぜopensslを導入しているかのリマインドのようです。php7.2以上だとopenssl_pkey_newのissueがあることからopensslが導入されたままとなっているようです。issueが解消され次第、コメントは消え、opensslもなくなることでしょう。https://git.alpinelinux.org/aports/tree/main/nginx/nginx.pre-install?h=3.9-stable起動用のグループ/ユーザを作成しています。alpineでwww-dataユーザを定義する場合は、uid/gidは82がスタンダードであるとコメントに記載されています。phpを参照するWEBサーバやアプリケーションにあわせてユーザ/グループを設定する必要があるでしょう。/usr/local/etc/phpPHP-FPMの設定ファイルを配置するディレクトリを定義しています。/var/www/htmlPHP-FPMの設定ファイルを配置するディレクトリを作成し、Apacheのドキュメントルート用のディレクトリを作成しています。https://github.com/docker-library/php/issues/743に紐付けられているhttps://github.com/docker-library/php/pull/787に記載されていますが、wordpressのapache無しイメージを一般ユーザで利用した際に、Apacheのルートディレクトリの権限の問題でwordpress:fpmのビルドが失敗していたようです。イメージの一貫性を持たせるために、Apache無し版の本イメージにもApacheのドキュメントルート用のディレクトリが作成されています。--disable-cgi##</autogenerated>##PHP-FPMの追加設定用の引数が設定されています。autogeneratedと記載がありますので、update.shスクリプトから自動生成されたコードかと思われます。protectionの設定など、PHP-FPMをコンパイルする際のオプションを指定しています。設定内容は、コメント部分を参照する。経緯はhttps://github.com/docker-library/php/issues/272にまとまっています。.fetch-depsPHPのソースファイルをダウンロードし、GPGKEYを利用して公開鍵を取得し、パッケージが改ざんされていないことをチェックしています。パッケージチェック後は、gnupgが不要になるため最後に削除しています。PHP-FPM公式イメージ(3)前回記事からの続きです。引き続きPHPの公式イメージを読み解いていきます。PHP-FPM公式イメージ(2)前回記事からの続きです。引き続きPHPの公式イメージを読み解いていきます。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。この記事のトラックバックURLプロフィールIT業界に生息するnamakemonです。ナマケモノのようにマイペースにゆったりと投稿しています。6.7をインストールしてみた。