Docker build時にcomposer-setup.phpが見つからないエラー

社内でDockerを使ったので、より深掘りするためにDockerによる環境構築の勉強をUdemyで行っていたところ、Docker build時にエラーが発生してしまった。

実際のエラー

 => ERROR [15/16] RUN php composer-setup.php     
------
 > [15/16] RUN php composer-setup.php:
#19 0.234 Could not open input file: composer-setup.php
------
executor failed running [/bin/sh -c php composer-setup.php]: exit code: 1
ERROR: Service 'php' failed to build : Build failed

正直エラー文は出てこないで欲しいものだが、エラーを解決した時に他では得難い達成感を得られるのも事実。 大人しく解決方法を探る。

解決

Dockerfileに記載されてある、composerのインストールに関するコマンドが正しいものではなかった。 まず、エラー文中にもあるとおり、この問題はcomposerのsetupに関するものである。 そこで該当するDockerfileの記述を確認してみると、composerのバージョンアップデートによるハッシュ値の変更が原因だった。これは動画投稿時と私の学習時に時間的な開きがあるので、当然生じるエラーであった。

収穫

composerのアップデートはハッシュ値の変更が伴うので、必ずと言っていいほどコマンド内容の変更が発生する。 初手脳死でエラー文貼り付けて検索することよりも、エラー箇所の特定を先にしたほうが検索の質も上がって結果的に良い結果になる。