Dockerの基本的な使い方も問題なさそうだったので、Docker Desktop + Visual Studio Codeな環境を作成して、Docker composeの基本的な使い方を勉強しようと、比較的メジャーな組み合わせと思われるnginx + php + mysql (mariadb)なアプリを作成してみた。
Docker Desktopでは問題なく動作する事が確認できたので、早速QNAP上のDocker composeでビルドしようとするとmysql (mariadb)のイメージがDocker Hubから見つからないというエラーが発生する。
そう、今使っているQNAPのTS-431PのCPUはARM (arm32v7, armhf)なのだが、nginxやphpのARMv7 (32bit)用のイメージはあるのだが、mysql (mariadb)のARMv7 (32bit)用イメージはDocker Official Imagesには何故かないのだ。
同じDatabaseで言えばpostgresはARMv7 (32bit)用のイメージが存在しているのに…mysql (mariadb)が存在しないとは。
こればかりはどうしようもないので、仕方なくUn-Officialなイメージのlinuxserver/mariadbを利用するように定義ファイルを書き換える事で、ビルドそのものは問題なく実行できるようになったのだが…
各種設定など細かい部分でOfficialなmariadbのイメージとは差異があるようで、どの設定が異なり、どう設定すれば良いのか、全て正常に動作するようになるまでの地道な調整作業が必要なようだ。