Rumah >pembangunan bahagian belakang >tutorial php >Teknologi kontena dan Docker dalam PHP

Teknologi kontena dan Docker dalam PHP

WBOY
WBOYasal
2023-05-10 23:12:06989semak imbas

Dengan perkembangan pesat Internet, semakin banyak perusahaan menghadapi keperluan prestasi tinggi, ketersediaan tinggi dan berskala tinggi. Untuk memenuhi permintaan ini, perusahaan memerlukan teknologi yang lebih cekap dan fleksibel untuk mengurus aplikasi mereka. Teknologi ini adalah kontena.

Pekontenaan ialah proses membungkus aplikasi dan semua kebergantungannya ke dalam bekas. Bekas ini boleh berjalan dalam persekitaran yang berbeza tanpa perlu risau tentang kebergantungan perisian. Menggunakan teknologi kontena boleh mencapai penggunaan dan pengurusan aplikasi yang pantas, meningkatkan kebolehpercayaan dan fleksibiliti sistem, dan mengurangkan kesukaran operasi dan penyelenggaraan sistem.

Docker ialah salah satu platform kontena paling popular pada masa ini. Docker ialah enjin kontena sumber terbuka yang membolehkan pembangun membungkus aplikasi dan kebergantungannya ke dalam bekas dan kemudian menggunakannya untuk dijalankan dalam persekitaran yang berbeza. Docker juga menyediakan beberapa arahan dan alatan yang biasa digunakan untuk mengurus dan menggunakan bekas dengan mudah.

Menggunakan Docker dalam pembangunan PHP boleh memudahkan proses penempatan dan pengurusan aplikasi. Berikut memperkenalkan cara menggunakan teknologi Docker untuk kontena dalam pembangunan PHP.

1. Cipta Fail Docker

Fail Docker ialah fail teks yang digunakan untuk menentukan langkah-langkah membina imej Docker. Dalam pembangunan PHP, persekitaran berjalan PHP boleh ditakrifkan melalui fail Dockerfile. Berikut ialah contoh fail Docker yang mudah:

FROM php:7.3-apache
WORKDIR /var/www/html
COPY . /var/www/html/
EXPOSE 80

Fail Docker ini menentukan versi imej PHP untuk digunakan sebagai 7.3-apache, menetapkan direktori kerja kepada /var/www/html dan menukar direktori semasa kepada Semua fail disalin ke direktori /var/www/html bekas. Akhir sekali, Dockerfile ini juga mendedahkan port 80 bekas untuk akses luaran kepada aplikasi web.

2. Bina imej Docker

Dengan fail Dockerfile, anda boleh menggunakan arahan binaan docker untuk membina imej Docker.

docker build -t myphpapp .

Arahan ini akan membina imej Docker bernama myphpapp berdasarkan fail Docker dalam direktori semasa. Jika fail Dockerfile tiada dalam direktori semasa, anda boleh menggunakan parameter -f untuk menentukan laluan fail Dockerfile.

3. Jalankan bekas Docker

Dengan imej Docker, anda boleh menggunakan arahan docker run untuk memulakan bekas Docker.

docker run -d --name myphpapp -p 80:80 myphpapp

Arahan ini akan memulakan bekas Docker bernama myphpapp dan memetakan port kontena 80 ke port 80 hos. Dengan cara ini, kami boleh mengakses aplikasi web melalui alamat IP hos.

Pada masa yang sama, parameter lain juga boleh digunakan untuk mengawal kelakuan bekas Docker. Sebagai contoh, gunakan parameter -v untuk melekapkan direktori hos ke dalam bekas:

docker run -d --name myphpapp -p 80:80 -v /path/on/host:/var/www/html myphpapp

Perintah ini akan melekapkan direktori /path/on/host pada hos ke direktori /var/www/html bagi bekas. Supaya bekas boleh mengakses fail di dalamnya.

4. Gunakan Docker Compose untuk mengurus berbilang bekas

Jika aplikasi melibatkan berbilang bekas, anda boleh menggunakan Docker Compose untuk mengurusnya. Docker Compose ialah alat yang boleh mentakrifkan dan memulakan berbilang bekas Docker melalui fail yaml.

Berikut ialah contoh fail Docker Compose yang ringkas:

version: "3"
services:
  web:
    build: .
    ports:
      - "80:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: dbname

Fail Docker Compose ini mentakrifkan dua perkhidmatan: web dan db. Perkhidmatan web menggunakan fail Dockerfile dalam direktori semasa untuk membina imej dan memetakan port kontena 80 ke port 80 hos. Perkhidmatan db menggunakan imej mysql yang telah ditetapkan dan menetapkan beberapa pembolehubah persekitaran.

Mulakan Docker Compose:

docker-compose up -d

Arahan ini akan memulakan dua perkhidmatan dan mengikatnya pada rangkaian yang sama supaya mereka boleh berkomunikasi antara satu sama lain.

Ringkasan

Teknologi kontena dan Docker boleh membantu pembangun PHP menggunakan dan mengurus aplikasi mereka dengan mudah, di samping meningkatkan kebolehpercayaan dan fleksibiliti aplikasi. Dengan menggunakan Dockerfiles dan Docker Compose, pembangun PHP boleh membina dan mengurus berbilang bekas Docker dengan mudah untuk memenuhi keperluan prestasi tinggi, ketersediaan tinggi dan kebolehskalaan tinggi dengan mudah.

Atas ialah kandungan terperinci Teknologi kontena dan Docker dalam 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