Composer: Instalasi pada wadah Docker

Dibuat pada 28 Jun 2016  ·  3Komentar  ·  Sumber: composer/composer

Seperti yang dikatakan dokumen :

PERINGATAN: Jangan mendistribusikan ulang kode pemasangan. Ini akan berubah dengan setiap versi penginstal. Sebagai gantinya, harap tautkan ke halaman ini.

menjengkelkan untuk menggunakan kode instalasi yang disediakan di sana di Dockerfile, karena verifikasi SHA-384 akan segera basi dan kami akan mendapatkan pesan Installer corrupt sedih setiap kali kami mencoba membangun wadah.
Saya dulu suka instalasi satu baris tetapi saya tahu ini memiliki masalah korupsi.

Jadi, apa pedoman untuk menggunakannya di Dockerfile? Haruskah kita tetap menggunakan instalasi one-liner di atas? Apakah harus di dokumen?

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

Komentar yang paling membantu

Semua 3 komentar

Saya pikir untuk Docker, mungkin yang terbaik adalah menggunakan rilis stabil yang diketahui dan mengunduhnya secara langsung.

Misalnya:

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

Saya tahu ini tidak menawarkan keamanan yang sama dengan yang disediakan skrip instal.

Pilihan lain adalah dengan memasukkan composer.phar ke dalam repositori yang juga berisi Dockerfile, dan kemudian cukup gunakan langkah COPY untuk menyalinnya ke dalam wadah pada waktu pembuatan.

Dalam kasus Docker, itu juga dapat diverifikasi dengan perintah berantai, seolah-olah salah satu dari mereka gagal dalam pernyataan RUN, seluruh pembuatan gambar juga akan gagal:

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

Sangat umum untuk memiliki ini untuk verifikasi tanda tangan, lihat php resmi dockerfile misalnya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat