Rumah > Artikel > pembangunan bahagian belakang > Integrasi PHP dan pangkalan data Dockerization
Dengan perkembangan pesat teknologi pengkomputeran awan dan kontena, semakin ramai pembangun mula membuat Dockerize aplikasi untuk meningkatkan kecekapan dan kemudahan. Hari ini, kami akan meneroka cara Dockerize bahasa pembangunan popular PHP dan pangkalan data untuk mencapai proses pembangunan yang lebih cekap dan mudah alih.
1. Apakah itu Docker
Pertama sekali, mari kita perkenalkan secara ringkas Docker. Docker ialah teknologi kontena yang membungkus aplikasi dan perkhidmatan ke dalam bekas untuk dijalankan dalam persekitaran yang berbeza. Tidak seperti mesin maya tradisional, Docker boleh memulakan dan menghentikan bekas dengan lebih cepat, dan menyediakan persekitaran yang lebih ringan dan pengurusan sumber yang lebih cekap.
Menggunakan Docker boleh menjadikan aplikasi lebih mudah alih dan boleh diterbitkan semula, kerana persekitaran dan kebergantungan berjalannya boleh dibungkus dalam bekas dan boleh digunakan dengan mudah dan dijalankan dalam persekitaran yang berbeza .
2. Mengapa Dockerize PHP dan pangkalan data
Bagi pembangun PHP, manfaat Dockerization adalah jelas. Pertama, aplikasi PHP sering bergantung pada banyak perpustakaan dan sambungan, dan membungkusnya ke dalam bekas Docker mengelakkan kerumitan dan kemungkinan konflik memasang kebergantungan ini.
Kedua, memandangkan aplikasi PHP yang berbeza mungkin perlu menyambung ke pangkalan data yang berbeza, pembungkusan pangkalan data dan aplikasi dalam bekas yang sama bukan sahaja akan menjadikan bekas lebih berat, tetapi juga kurang fleksibel. Membungkusnya dalam bekas yang berasingan menjadikannya lebih modular dan boleh digunakan semula.
3. Cara Docker PHP dan pangkalan data
Seterusnya, kami akan memperkenalkan cara aplikasi dan pangkalan data Docker PHP, dan integrasi antara mereka.
Untuk Menyorokkan aplikasi PHP, kita perlu mencipta fail Docker terlebih dahulu. Fail Docker ialah fail teks yang mentakrifkan kandungan imej Docker, yang mengandungi arahan dan arahan yang diperlukan untuk mencipta imej.
Berikut ialah contoh Fail Docker asas:
FROM php:7.4-apache COPY src/ /var/www/html/
Fail Docker ini menggunakan imej PHP 7.4 berasaskan Apache dan menyalin kod aplikasi ke dalam direktori /var/www/html / bekas.
Untuk membina imej ini, jalankan arahan berikut dalam direktori tempat Dockerfile terletak:
docker build -t my-php-app .
Jika semuanya berjalan lancar, anda akan melihat output proses binaan, dan akhirnya membina fail bernama Mirror of my-php-app.
Seterusnya, kita perlu Dockerize pangkalan data. Di sini kita akan menggunakan MySQL, pangkalan data hubungan yang popular, sebagai contoh.
Untuk menggunakan imej MySQL Docker, kita perlu menjalankan arahan berikut:
docker run -d --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.7
Arahan ini akan memuat turun imej mysql:5.7 dan memulakan MySQL dalam bekas bernama my-mysql. Ia juga menetapkan pembolehubah persekitaran MYSQL_ROOT_PASSWORD kepada my-secret-pw melalui pilihan -e, yang akan digunakan sebagai kata laluan untuk pengguna root MySQL.
Kini, kita perlu mengodkan aplikasi PHP supaya ia boleh menyambung ke pangkalan data MySQL.
Berikut ialah contoh kod untuk menyambung ke MySQL menggunakan sambungan PHP PDO:
$pdo = new PDO('mysql:host=my-mysql;dbname=my-db', 'root', 'my-secret-pw');
Di sini, kami menggunakan objek PDO untuk menyambung ke contoh MySQL dalam bekas my-mysql yang telah berlari sebelum ini. Anda boleh menggantikan my-mysql dengan alamat IP sebenar atau nama hos daripada bekas MySQL, dan my-db ialah nama pangkalan data yang ingin kami sambungkan.
Jika semuanya disediakan dengan betul, aplikasi akan menyambung ke pangkalan data MySQL dan boleh menggunakan PDO untuk melaksanakan operasi seperti pertanyaan.
4. Ringkasan
Dengan Melindungi PHP dan pangkalan data, kami boleh mencapai proses pembangunan yang lebih cekap dan mudah alih. Menggunakan bekas Docker memudahkan untuk mengurus aplikasi dan kebergantungannya, dan menjadikan aplikasi dan pangkalan data lebih boleh digunakan semula dan modular. Dengan membungkusnya dalam bekas yang berbeza, kami boleh mengurus perhubungan antara mereka dengan lebih fleksibel dan mencapai penggunaan dan operasi yang lebih cekap.
Atas ialah kandungan terperinci Integrasi PHP dan pangkalan data Dockerization. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!