Konfigurasi Docker PHP untuk Google Cloud Run
Bagaimana konfigurasi untuk menjalankan PHP di docker? Kali ini saya mencoba untuk membagikan tentang minimal konfigurasi untuk dockerfile PHP khususnya untuk dideploy di Google Cloud Run. Ada beberapa kasus yang mana kita hanya memerlukan basic feature dari PHP bahkan yang dideploy hanya berupa static page sederhana. Tetapi tak jarang pula kita memerlukan konfigurasi composer dan penambahan plugin extension dari PHP.
Sebelumnya, kita coba bagi dalam beberapa section. Pertama, konfigurasi dasar dan beberapa mod. Kedua, konfigurasi ext tambahan di PHP. Ketiga, memasang composer dan menginstall berbagai library melalui composer di docker.
Konfigurasi Dasar
1 |
|
Untuk mengaktifkan mod seperti rewrite dan header bisa dilakukan dengan a2enmod.
1 |
|
Konfigurasi Ext PHP
Sebenarnya kunci utama untuk menambahkan extension di PHP hanya sebaris ini. Tinggal tambahkan saja ext yang ingin dipasang dalam baris itu. Contohnya menambahkan ext opcache
dan pdo_mysql
.
1 |
|
Tetapi untuk beberapa kasus ext lain memerlukan langkah tambahan. Beberapa diantaranya seperti gd
, intl
, imap
, dan imagick
.
gd
1 |
|
intl
1 |
|
imap
1 |
|
imagick(pecl)
1 |
|
Zip
1 |
|
Konfigurasi Composer
1 |
|
Setelah composer terinstall, kita bisa memasang library yang dibutuhkan dalam project. Tetapi perlu diperhatikan bahwa ketika melakukan composer install kita harus memberikan parameter tambahan supaya composer melakukan instalasi tanpa meninggalkan cache dan "sampah" lainnya supaya image docker yang dihasilkan tidak membengkak.
1 |
|
Mungkin itu yang dapat saya bagikan. Masalah lain seperti memasang font di docker bisa dibaca disini. Semoga bermanfaat.
Daftar Links
"Google Cloud Run Documentation for PHP" by GCP
https://cloud.google.com/run/docs/quickstarts/build-and-deploy/deploy-php-service
"Gist about list of php ext in docker" by chronon
https://gist.github.com/chronon/95911d21928cff786e306c23e7d1d3f3
"Faster Docker Builds with composer install" by Iacovos Constantinou
https://medium.com/@softius/faster-docker-builds-with-composer-install-b4d2b15d0fff