LoginSignup
20
4

More than 3 years have passed since last update.

Dockerでcomposerのinstallが弾かれる

Posted at

やりたかったこと

docker-composeでLaravelの環境を作りたかった。

起きたこと

DockerFileやdocker-compose.ymlになんの変更も加えていないのに急にビルドが通らなくなった

エラーメッセージ

Step 6/13 : RUN php composer-setup.php
 ---> Running in 67d016a43b56
Could not open input file: composer-setup.php
ERROR: Service 'php' failed to build: The command '/bin/sh -c php composer-setup.php' returned a non-zero code: 1

どうやらcomposerのインストール周りでなにか問題が発生しているらしい。

解決策

Composerのサイト を見に行くと、インストール時のハッシュ値がいつの間にか変わっていた(バージョンアップによると考えられる)ので、Dockerfileのcomposerをインストールする部分を変更した。

- RUN php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('    composer-setup.php'); } echo PHP_EOL;"
+ RUN php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('    composer-setup.php'); } echo PHP_EOL;"

この方法だとComposerのバージョンが変わるたびにDockerfileをいじらないといけないので、なにか良い方法があればコメントなどで教えて下さい。

20
4
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
4