Cara menggunakan Docker untuk menggunakan projek dalam pembangunan PHP

WBOY
Lepaskan: 2023-06-27 18:10:01
asal
3535 orang telah melayarinya

Menggunakan Docker untuk menggunakan projek dalam pembangunan PHP telah menjadi trend yang semakin popular. Docker ialah teknologi kontena popular yang boleh membungkus aplikasi ke dalam bekas, dengan itu menyediakan pembangun dengan persekitaran pembangunan piawai yang boleh menggunakan aplikasi dengan lancar dalam sistem pengendalian dan persekitaran yang berbeza, serta mencapai aplikasi Bina, gunakan dan naik taraf dengan cepat.

Mari ketahui lebih lanjut tentang cara menggunakan Docker untuk menggunakan projek dalam pembangunan PHP.

Langkah 1: Pasang dan konfigurasikan Docker

Pertama, pastikan Docker dipasang pada sistem setempat anda Kaedah pemasangan Docker mungkin berbeza sedikit dalam sistem pengendalian yang berbeza. Selepas pemasangan selesai, gunakan arahan versi docker dalam terminal untuk mengesahkan sama ada pemasangan berjaya.

Inti mengkonfigurasi Docker adalah untuk mencipta Dockerfile, iaitu fail teks yang mengandungi semua arahan untuk mencipta imej Docker. Dalam Dockerfile, kita perlu menentukan persekitaran yang diperlukan untuk pembangunan PHP.

Langkah 2: Tulis Fail Docker

Buat Fail Docker dan letakkannya dalam direktori akar projek.

Dalam fail Docker, kita perlu memasukkan kandungan berikut:

# 基础镜像,Golang alpine 3.7版本 
FROM alpine:3.7 

# 添加所有php常用库
RUN apk update 
&& apk add --no-cache 
php7-bcmath 
php7-ctype 
php7-curl php7-dom php7-fileinfo php7-ftp php7-gd php7-iconv php7-intl php7-json php7-ldap php7-mbstring php7-mysqli php7-mysqlnd php7-opcache php7-openssl php7-pcntl  
php7-pdo_mysql php7-pdo_sqlite  php7-phar  php7-posix  php7-session  php7-simplexml  php7-soap  php7-sockets  php7-sqlite3  php7-tokenizer  php7-xml  php7-xmlreader  php7-xmlwriter php7-zip php7-zlib 

# 修改时区
RUN apk add --no-cache tzdata 
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

# 在容器中创建目录并设置权限
WORKDIR /var/www/ 
RUN mkdir -p var/www/html 
&& chown -R nginx:nginx /var/www/html 

# 开放80端口
EXPOSE 80 

# 开始运行PHP-FPM
CMD ["php-fpm7", "-F"] 
Salin selepas log masuk

Di atas ialah kandungan fail Dockerfile yang mudah, yang terutamanya merangkumi tiga aspek berikut:

  1. Imej asas: Kami memilih versi alpine 3.7, a Pengedaran kecil yang mengandungi hanya komponen yang paling diperlukan. Ia mengurangkan saiz imej dan menjadikan permulaan kontena lebih cepat.
  2. Tambah sambungan yang diperlukan oleh PHP: Seperti yang ditunjukkan di atas, kami telah menambah banyak sambungan biasa untuk PHP.
  3. Tetapkan mod larian bekas: Kami menggunakan proses FPM PHP sebagai proses lalai kontena, supaya PHP-FPM akan berjalan secara automatik apabila bekas bermula.

Langkah 3: Jana imej Docker

Gunakan arahan berikut untuk membina imej PHP-FPM:

docker build . -t php-fpm7:latest 
Salin selepas log masuk

Arahan ini akan membina imej secara automatik daripada direktori semasa dan menetapkan label kepada php-fpm7:latest.

Langkah 4: Tulis fail docker-compose.yml

Seterusnya, kita perlu menyediakan fail docker-compose.yml, yang akan menentukan cara aplikasi kita berjalan.

version: '3.1' 

services: 

# 定义Nginx服务 
nginx: 
image: nginx:1.13-alpine 
ports: 
- '8000:80' 
volumes: 
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro 
- ./nginx/conf.d:/etc/nginx/conf.d:ro 
- ./code:/var/www/html:ro 
depends_on: 
- php 

# PHP-FPM服务 
php: 
image: php-fpm7:latest 
volumes: 
- ./code:/var/www/html:rw 
- ./php/custom.ini:/usr/local/etc/php/conf.d/custom.ini:ro 

# MySQL服务 
mysql: 
image: mysql:5.7 
ports: 
- '3306:3306' 
env_file: 
- ./mysql/.env 
volumes: 
- ./mysql/data:/var/lib/mysql 
- ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
Salin selepas log masuk

Seperti yang ditunjukkan di atas, kami telah menentukan tiga perkhidmatan: Nginx, PHP dan MySQL Port, konfigurasi, kebergantungan, volum terpasang dan tetapan lain boleh diubah suai mengikut keperluan sebenar anda.

Langkah 5: Mulakan aplikasi

Akhir sekali, kami memulakan aplikasi dengan arahan berikut:

docker-compose up 
Salin selepas log masuk

Arahan ini akan membaca fail docker-compose.yml dan memulakan semua perkhidmatan. Selepas pelaksanaan berjaya, anda boleh melawati http://localhost:8000 melalui penyemak imbas untuk menyemak sama ada penggunaan berjaya.

Ringkasan:

Di atas ialah cara menggunakan Docker untuk menggunakan projek dalam pembangunan PHP. Berbanding dengan kaedah penggunaan tradisional, penggunaan Docker boleh membantu kami mengurangkan kos pembangunan dan penggunaan, meningkatkan kebolehskalaan dan kestabilan aplikasi serta menjimatkan masa pembangun. Saya harap artikel ini dapat membantu semua orang mempelajari dan menggunakan teknologi Docker dengan lebih baik.

Atas ialah kandungan terperinci Cara menggunakan Docker untuk menggunakan projek dalam pembangunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!