Sebarkan Symfony menggunakan Docker: Mula membangun dengan pantas
Pengenalan:
Dengan perkembangan pesat teknologi pengkomputeran awan dan kontena telah menjadi salah satu alat pilihan untuk pembangun untuk menggunakan dan mengurus aplikasi. Symfony, sebagai rangka kerja PHP yang popular, juga boleh digunakan melalui Docker, yang sangat memudahkan proses pembangunan dan penggunaan. Artikel ini akan memperkenalkan cara menggunakan Docker untuk menggunakan aplikasi Symfony dan memberikan contoh kod khusus.
Langkah 1: Pasang Docker dan Docker Compose
Pertama, kita perlu memasang Docker dan Docker Compose pada mesin tempatan. Langkah-langkah pemasangan Docker boleh didapati di laman web rasmi dan harus dipasang dengan sewajarnya mengikut sistem pengendalian. Docker Compose boleh dipasang melalui arahan pip, seperti menjalankan pip install docker-compose
. pip install docker-compose
。
步骤2:创建Symfony应用程序
在安装了Docker和Docker Compose之后,我们可以创建一个新的Symfony应用程序。使用以下命令来创建一个新的Symfony项目:
docker run --rm -v $(pwd):/app composer create-project symfony/website-skeleton my-project
这个命令将在当前目录下创建一个名为my-project
的Symfony应用程序。
步骤3:编写Docker Compose文件
接下来,我们需要编写一个Docker Compose文件来定义我们的应用程序的服务和依赖关系。在项目的根目录下创建一个名为docker-compose.yml
的文件,并添加以下内容:
version: '3' services: app: build: context: . dockerfile: Dockerfile ports: - 8000:8000 volumes: - .:/app working_dir: /app depends_on: - mysql mysql: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=my_database
这个Docker Compose文件定义了两个服务:一个是Symfony应用程序,另一个是MySQL数据库。Symfony服务使用了自定义的Dockerfile来构建镜像,并且将8000端口映射到主机的8000端口上。MySQL服务则使用官方的MySQL 5.7镜像,并设置了根密码和数据库名。
步骤4:编写Dockerfile
为了构建Symfony应用程序的Docker镜像,我们需要编写一个Dockerfile。在项目的根目录下创建一个名为Dockerfile
的文件,并添加以下内容:
FROM php:7.4-apache RUN apt-get update && apt-get install -y git unzip libonig-dev libxml2-dev RUN docker-php-ext-install pdo_mysql mbstring xml COPY . /var/www/html WORKDIR /var/www/html RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer RUN composer install --no-interaction --optimize-autoloader RUN chown -R www-data:www-data /var/www/html
这个Dockerfile使用了官方的PHP 7.4镜像作为基础镜像,并安装了一些必要的依赖。然后,将Symfony应用程序的代码复制到容器的指定目录中,并使用Composer安装应用程序的依赖。最后,我们将Apache服务器的文档根目录设置为Symfony应用程序的目录,并将所有文件的权限修改为对Apache可写。
步骤5:构建和运行容器
一切准备就绪后,我们可以使用Docker Compose来构建和运行容器。在项目的根目录下运行以下命令:
docker-compose up -d
这个命令将会自动构建Symfony应用程序的Docker镜像,并创建并运行两个容器:一个是Symfony应用程序容器,另一个是MySQL数据库容器。应用程序现在可以通过localhost:8000
Selepas memasang Docker dan Docker Compose, kami boleh mencipta aplikasi Symfony baharu. Gunakan arahan berikut untuk mencipta projek Symfony baharu:
rrreee
my-project
dalam direktori semasa. #🎜🎜##🎜🎜#Langkah 3: Tulis fail Docker Compose#🎜🎜#Seterusnya, kami perlu menulis fail Docker Compose untuk menentukan perkhidmatan dan kebergantungan aplikasi kami. Cipta fail bernama docker-compose.yml
dalam direktori akar projek dan tambah kandungan berikut: #🎜🎜#rrreee#🎜🎜#Fail Docker Compose ini mentakrifkan dua perkhidmatan: satu ialah Symfony aplikasi dan satu lagi ialah pangkalan data MySQL. Perkhidmatan Symfony menggunakan Dockerfile tersuai untuk membina imej dan memetakan port 8000 ke port 8000 hos. Perkhidmatan MySQL menggunakan imej rasmi MySQL 5.7, dan menetapkan kata laluan akar dan nama pangkalan data. #🎜🎜##🎜🎜#Langkah 4: Tulis Fail Docker#🎜🎜#Untuk membina imej Docker bagi aplikasi Symfony, kita perlu menulis Fail Docker. Buat fail bernama Dockerfile
dalam direktori akar projek dan tambah kandungan berikut: #🎜🎜#rrreee#🎜🎜#Dockerfile ini menggunakan imej PHP 7.4 rasmi sebagai imej asas dan memasangnya beberapa tanggungan yang diperlukan. Kemudian, salin kod aplikasi Symfony ke dalam direktori bekas yang ditentukan dan gunakan Composer untuk memasang kebergantungan aplikasi. Akhir sekali, kami menetapkan akar dokumen pelayan Apache kepada direktori aplikasi Symfony dan mengubah suai kebenaran semua fail untuk boleh ditulis oleh Apache. #🎜🎜##🎜🎜#Langkah 5: Bina dan jalankan bekas#🎜🎜#Setelah semuanya siap, kita boleh menggunakan Docker Compose untuk membina dan menjalankan kontena. Jalankan arahan berikut dalam direktori akar projek: #🎜🎜#rrreee#🎜🎜#Arahan ini secara automatik akan membina imej Docker bagi aplikasi Symfony dan mencipta serta menjalankan dua bekas: satu bekas aplikasi Symfony dan satu lagi ialah bekas pangkalan data MySQL. Aplikasi kini boleh diakses melalui localhost:8000
. #🎜🎜##🎜🎜#Kesimpulan: #🎜🎜# Dengan menggunakan Docker untuk menggunakan aplikasi Symfony, kami dapat memulakan proses pembangunan dan penggunaan dengan cepat serta mengelakkan pergantungan pada persekitaran setempat. Menggunakan Docker Compose untuk mentakrifkan perkhidmatan dan kebergantungan boleh menjadikan keseluruhan proses pembangunan dan penggunaan lebih lancar dan boleh dipercayai. Kami berharap contoh kod yang disediakan dalam artikel ini dapat membantu pembaca lebih memahami dan menggunakan Docker untuk menggunakan aplikasi Symfony. #🎜🎜#Atas ialah kandungan terperinci Gunakan Symfony dengan Docker: Mulakan pembangunan dengan cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!