Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan teknologi kontena untuk pengurusan persekitaran dalam pembangunan PHP

Cara menggunakan teknologi kontena untuk pengurusan persekitaran dalam pembangunan PHP

WBOY
WBOYasal
2023-06-25 10:53:331425semak imbas

Dalam pembangunan PHP moden, penggunaan teknologi kontena untuk pengurusan alam sekitar telah menjadi semakin biasa. Artikel ini akan memperkenalkan cara menggunakan teknologi kontena Docker untuk mencipta, mengkonfigurasi dan mengurus persekitaran pembangunan projek PHP.

1. Mengapa menggunakan teknologi kontena untuk pengurusan persekitaran

Dalam pembangunan PHP tradisional, untuk membina persekitaran yang sesuai untuk projek semasa, sejumlah besar konfigurasi dan pemasangan diperlukan. Jika konfigurasi ini dibungkus secara seragam, mudah alih, konsisten dan kebolehpercayaan semasa pembangunan boleh dipertingkatkan. Dalam kes ini, menggunakan teknologi kontena menjadi pilihan yang tidak dapat dielakkan.

Secara khusus, faedah menggunakan teknologi kontena adalah seperti berikut:

  1. Konsistensi persekitaran: Menggunakan bekas boleh memastikan persekitaran konsisten pada mesin yang berbeza dan antara pembangun yang berbeza.
  2. Sangat mudah alih: Bekas boleh dijalankan dalam mana-mana persekitaran yang menyokong teknologi kontena tanpa mengkonfigurasi semula persekitaran.
  3. Pengasingan yang lebih baik: Bekas menyediakan pengasingan yang serupa dengan virtualisasi, yang boleh memastikan interaksi antara bahagian projek yang berlainan diminimumkan.

2 Gunakan Docker untuk mencipta persekitaran pembangunan PHP

Docker ialah salah satu teknologi kontena yang paling popular pada masa ini, jadi artikel ini akan menggunakan Docker untuk mencipta persekitaran pembangunan PHP.

  1. Pasang Docker

Mula-mula, anda perlu memasang Docker pada persekitaran setempat anda. Anda boleh memuat turun dan memasang versi Docker yang sesuai untuk mesin anda dari tapak web rasmi.

  1. Buat Dockerfile

Buat fail bernama Dockerfile dalam direktori akar projek dan tulis kandungan fail. Dockerfile ialah fail skrip yang digunakan oleh Docker untuk mencipta imej. Kandungan khusus Fail Docker adalah seperti berikut:

FROM php:7.4-fpm

# Install dependencies
RUN apt-get update && apt-get install -y 
    git 
    libzip-dev 
    unzip

# Install PHP extensions
RUN docker-php-ext-install zip pdo_mysql

# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Set working directory
WORKDIR /app

Maksud Fail Docker ini adalah untuk membina imej baharu daripada imej asas PHP sedia ada. Kemudian pasang kebergantungan yang diperlukan seperti git, libzip dan unzip pasang sambungan PHP zip dan pdo_mysql dan akhirnya pasang Komposer;

Perhatikan bahawa arahan COPY digunakan untuk menyalin fail daripada imej komposer ke imej baharu, yang memastikan alat Komposer boleh digunakan secara normal dalam imej baharu.

  1. Bina Imej Docker

Seterusnya, anda perlu menggunakan Dockerfile untuk membina imej Docker. Masukkan direktori akar projek dalam terminal, dan kemudian jalankan arahan:

docker build -t project-name .

di mana nama-projek ialah nama imej Docker yang akan dibuat, dan "." yang terakhir menunjukkan direktori di mana fail Dockerfile berada. Perintah ini akan mencipta imej Docker baharu untuk projek itu.

  1. Run Container

Gunakan perintah berikut untuk memulakan bekas imej baru:

docker run -p 8000:8000 -v "$(pwd)":/app -it project-name
e

where "8000" adalah nombor port yang akan didedahkan oleh bekas. port 8000 hos. Selain itu, parameter -v memetakan direktori semasa ke direktori /app dalam bekas supaya kod PHP boleh dijalankan dalam bekas. Akhir sekali, "nama projek" mewakili nama imej Docker untuk digunakan.

3 Gunakan Docker Compose untuk mengurus projek PHP yang kompleks

Untuk projek PHP yang kompleks, anda mungkin perlu menggunakan berbilang perkhidmatan (seperti storan data, cache, pelayan web, dll.). Pada masa ini, anda boleh menggunakan Docker Compose untuk mengurus perkhidmatan ini.

Docker Compose ialah alat untuk Docker yang boleh digunakan untuk mengurus berbilang bekas Docker. Menggunakan Docker Compose, anda boleh mencipta dan mengkonfigurasi berbilang bekas, memautkannya bersama-sama dan mengendalikan beberapa tugas penggunaan biasa (seperti volum data dan pemetaan port, dsb.).

  1. Sediakan fail docker-compose.yml

Docker Compose bergantung pada fail konfigurasi bernama docker-compose.yml. Cipta fail ini dalam direktori akar projek PHP anda dan tentukan bekas yang akan dibuat di dalamnya. Berikut ialah contoh:

version: '3.4'

services:
  php:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - .:/app
    depends_on:
      - db

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: app
      MYSQL_USER: app
      MYSQL_PASSWORD: secret
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

Fail ini mentakrifkan dua perkhidmatan: php dan db.

Perkhidmatan php menggunakan Dockerfile yang dibuat sebelum ini untuk membina imej baharu, kemudian memetakan port 8000 kontena ke port 8000 hos, dan memetakan direktori semasa ke direktori /app dalam bekas. Perkhidmatan juga bergantung kepada perkhidmatan db.

Perkhidmatan db menggunakan imej rasmi MySQL 5.7 dan mentakrifkan beberapa pembolehubah persekitaran untuk menetapkan kata laluan akar MySQL, nama pangkalan data, pengguna dan maklumat lain. Jumlah data juga akan dibuat dalam bekas MySQL sebagai storan berterusan.

Perhatikan bahawa fail ini juga mentakrifkan volum bernama db_data. Jilid digunakan untuk menyimpan data dalam bekas supaya ia boleh dikongsi antara bekas yang berbeza. Jilid juga menyediakan beberapa penyelesaian storan berterusan.

  1. Jalankan berbilang bekas

Selepas menulis fail docker-compose.yml, anda boleh menggunakan arahan berikut untuk mencipta dan memulakan semua bekas yang ditakrifkan dalam projek PHP:

docker-compose up -d

Arahan ini akan menjalankan semua perkhidmatan yang ditentukan di latar belakang .

Anda boleh menyemak semua bekas yang dilaksanakan dengan menjalankan arahan berikut:

docker ps
  1. Hentikan dan padam bekas

Apabila anda perlu menghentikan semua perkhidmatan dan bekas, anda boleh menjalankan arahan berikut:

docker-compose down

Perintah ini akan berhenti semua bekas berjalan dan alih keluar semua perkhidmatan. Jika anda perlu menghentikan dan memadam perkhidmatan tertentu, anda boleh menjalankan arahan berikut:

docker-compose stop service-name
docker-compose rm service-name

di mana nama perkhidmatan ialah nama perkhidmatan yang akan dihentikan dan dipadamkan.

Artikel ini memperkenalkan konsep asas dan langkah menggunakan Docker untuk mencipta dan mengurus persekitaran pembangunan PHP. Menggunakan teknologi kontena boleh meningkatkan ketekalan, mudah alih dan kebolehpercayaan proses pembangunan dan memainkan peranan penting dalam pembangunan projek PHP.

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

Kenyataan:
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