Rumah > Artikel > Operasi dan penyelenggaraan > Gunakan Docker untuk membina persekitaran pembangunan Symfony: mulakan dengan cepat
Gunakan Docker untuk membina persekitaran pembangunan Symfony: Bermula dengan pantas
【Abstrak】
Symfony ialah rangka kerja PHP popular yang membolehkan pembangun membina dan menggunakan aplikasi web dengan cepat. Untuk memudahkan konfigurasi dan pengurusan persekitaran pembangunan Symfony, kami boleh menggunakan Docker untuk penggunaan kontena. Artikel ini akan memperkenalkan cara menggunakan Docker untuk membina persekitaran pembangunan Symfony dan menyediakan contoh kod khusus.
【Pengenalan】
Dalam pembangunan Symfony tradisional, kita perlu mengkonfigurasi dan memasang perisian, alatan dan kebergantungan yang diperlukan secara manual. Proses ini selalunya membosankan dan memakan masa. Menggunakan Docker, aplikasi Symfony boleh dibungkus dalam bekas bebas, termasuk persekitaran dan sumber yang diperlukan, menjadikan penggunaan dan pembangunan lebih mudah dan lebih cekap.
【Langkah 1: Pasang Docker】
Mula-mula, kita perlu memasang enjin Docker. Bergantung pada sistem pengendalian anda, anda boleh memuat turun pakej pemasangan yang sesuai melalui saluran yang sepadan dan memasangnya mengikut gesaan.
【Langkah 2: Buat aplikasi Symfony】
Seterusnya, kita perlu mencipta aplikasi Symfony. Dengan mengandaikan aplikasi kami dinamakan "myapp", ia boleh dibuat dalam baris arahan menggunakan arahan berikut:
$ symfony new myapp $ cd myapp
Perintah di atas akan memuat turun dan memasang versi terkini Symfony secara automatik dan mencipta direktori bernama "myapp". Masukkan direktori ini.
【Langkah 3: Cipta Dockerfile】
Dalam direktori akar aplikasi Symfony, buat fail bernama "Dockerfile". Fail ini digunakan untuk menentukan konfigurasi dan langkah membina bekas Docker. Salin kandungan berikut ke dalam "Fail Docker":
FROM php:7.4-apache WORKDIR /var/www/html # 安装Symfony所需的扩展和依赖 RUN apt-get update && apt-get install -y libicu-dev libpq-dev && docker-php-ext-install intl pdo_pgsql # 激活Apache的rewrite模块 RUN a2enmod rewrite # 复制应用程序代码到容器中 COPY . . # 安装Composer依赖 RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer RUN composer install --no-scripts # 设置Apache的DocumentRoot为Symfony的public目录 RUN sed -ri -e 's!/var/www/html!/var/www/html/public!g' /etc/apache2/sites-available/*.conf RUN sed -ri -e 's!/var/www/!/var/www/html/public!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf # 设置Apache用户和组为当前用户 RUN chown -R www-data:www-data /var/www/html CMD [ "apache2-foreground" ]
Fail Docker di atas mengkonfigurasi persekitaran pembangunan Symfony berdasarkan imej php:7.4-apache. Ia termasuk beberapa tetapan dan pemasangan asas, seperti memasang sambungan, mengaktifkan modul tulis semula, menyalin kod aplikasi, memasang kebergantungan Komposer, dsb.
【Langkah 4: Bina Imej Docker】
Dalam direktori akar aplikasi Symfony, buka terminal baris arahan dan laksanakan arahan berikut untuk membina imej Docker:
$ docker build -t myapp .
Arahan di atas akan membina fail bernama Mirror of " myapp". Nama imej boleh diubah suai mengikut situasi sebenar.
【Langkah 5: Jalankan aplikasi Symfony】
Selepas membina imej, kita boleh menjalankan aplikasi Symfony melalui arahan berikut:
$ docker run -p 8000:80 myapp
Arahan di atas akan memulakan bekas bernama "myapp" dan memetakan port kontena 80 Ke port 8000 daripada tuan rumah. Pada ketika ini, kita boleh melawati "http://localhost:8000" dalam pelayar untuk melihat aplikasi Symfony.
【Kesimpulan】
Artikel ini memperkenalkan cara menggunakan Docker untuk membina persekitaran pembangunan Symfony dengan cepat. Dengan menggunakan Docker, anda boleh memudahkan proses penempatan dan pembangunan Symfony serta meningkatkan kecekapan pembangunan. Saya harap kandungan artikel ini dapat membantu pembaca menggunakan Docker untuk pembangunan Symfony dengan lebih baik.
Atas ialah kandungan terperinci Gunakan Docker untuk membina persekitaran pembangunan Symfony: mulakan dengan cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!