Composer: Dockerコンテナへのインストール

作成日 2016年06月28日  ·  3コメント  ·  ソース: composer/composer

ドキュメントが言うように:

警告:インストールコードを再配布しないでください。 インストーラーのバージョンごとに変更されます。 代わりに、このページにリンクしてください。

Dockerfileで提供されているインストールコードを使用するのは面倒です。SHA-384検証はすぐに古くなり、コンテナを構築しようとするたびに悲しいInstaller corruptメッセージが表示されるためです。
以前はワンライナーインストールが好きでしたが、破損の問題があることはわかっています。

それで、Dockerfileでそれを使用するためのガイドラインは何ですか? 上記のワンライナーインストールを引き続き使用する必要がありますか? それはドキュメントにあるべきですか?

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
Question

最も参考になるコメント

全てのコメント3件

Dockerの場合、既知の安定版リリースを使用して直接ダウンロードするのがおそらく最善だと思います。

例えば:

wget https://getcomposer.org/download/1.1.3/composer.phar
# or if you want snapshot
wget https://getcomposer.org/composer.phar

これは、インストールスクリプトが提供するのと同じセキュリティを提供しないことを私は知っています。

もう1つのオプションは、composer.pharをDockerfileも含むリポジトリーにコミットし、ビルド時にCOPYステップを使用してコンテナーにコピーすることです。

Dockerの場合、コマンドをチェーンすることで検証することもできます。これは、コマンドのいずれかがRUNステートメントで失敗した場合と同様に、イメージビルド全体も失敗するためです。

RUN echo "$(curl -sS https://composer.github.io/installer.sig) -" > composer-setup.php.sig \
    && curl -sS https://getcomposer.org/installer | tee composer-setup.php | sha384sum -c composer-setup.php.sig \
    && php composer-setup.php -- --install-dir=/root/bin --filename=composer

署名の検証のためにこれを使用することは非常に一般的です。たとえば、 phpの公式dockerfileを参照してください。

このページは役に立ちましたか?
0 / 5 - 0 評価