Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan kontena Docker menggunakan PHP

Bagaimana untuk melaksanakan kontena Docker menggunakan PHP

WBOY
WBOYasal
2023-06-22 21:56:15924semak imbas

Dengan perkembangan teknologi pengkomputeran awan, Dockerization telah menjadi semakin popular. Dalam proses Dockerization, PHP juga memainkan peranan penting. Dalam artikel ini, kami akan meneroka cara melaksanakan kontena Docker menggunakan PHP.

  1. Pasang Docker dan Docker Compose

Mula-mula, kita perlu memasang Docker dan Docker Compose untuk membina kontena PHP yang kita perlukan dalam persekitaran setempat dengan cepat. Jika anda belum tahu Docker dan Docker Compose, anda boleh merujuk kepada dokumentasi rasmi untuk belajar dahulu.

  1. Menulis Fail Docker

Langkah seterusnya ialah menulis Fail Docker, di sinilah kita mentakrifkan persekitaran kontena. Di sana anda boleh menentukan imej asas yang diperlukan, memasang pakej yang diperlukan, dan menjalankan sebarang skrip init. Berikut ialah contoh fail Docker yang mudah:

FROM php:7.4-apache

RUN apt-get update && apt-get install -y 
    git 
    libzip-dev 
    && docker-php-ext-install zip 
    && docker-php-ext-enable zip 
    && rm -rf /var/lib/apt/lists/*

WORKDIR /var/www/html

COPY . .

RUN chown -R www-data:www-data /var/www/html

EXPOSE 80

Fail Docker di atas menggunakan imej PHP:7.4-apache rasmi dan memasang pakej Git dan libzip-dev. Kemudian kami memasang sambungan zip untuk PHP dan membolehkan sambungan itu. Akhir sekali salin keseluruhan aplikasi ke dalam bekas dan pastikan kebenaran folder ditetapkan dengan betul. Akhir sekali, kami mendedahkan port 80 bekas melalui arahan EXPOSE. Jika anda mempunyai port lain yang perlu didedahkan, anda juga boleh menentukannya di sini.

  1. Tulis fail Docker Compose

Dengan Dockerfile, kami boleh membina bekas PHP dalam persekitaran setempat. Tetapi biasanya kami memerlukan lebih banyak bekas untuk membina keseluruhan aplikasi Pada masa ini, kami boleh menggunakan Docker Compose untuk mengurus berbilang bekas. Berikut ialah contoh fail Docker Compose yang mudah:

version: '3.3'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8000:80"
    volumes:
      - .:/var/www/html
    depends_on:
      - mysql

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: "yes"
      MYSQL_DATABASE: "app_db"
      MYSQL_USER: "app_user"
      MYSQL_PASSWORD: "app_password"
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

Fail Docker Compose di atas mentakrifkan dua perkhidmatan: web dan mysql. Perkhidmatan web menggunakan Dockerfile yang kami tulis sebelum ini untuk membina bekas dan memetakan port kontena 80 ke port tempatan 8000 supaya kami boleh mengakses kontena secara tempatan. Selain itu, kami memetakan direktori semasa ke direktori /var/www/html dalam bekas supaya bekas boleh mengakses kod aplikasi kami. Akhir sekali, perkhidmatan web juga bergantung kepada perkhidmatan mysql, iaitu jika perkhidmatan mysql tidak dimulakan, perkhidmatan web tidak boleh dimulakan.

Perkhidmatan mysql menggunakan imej mysql:5.7 rasmi, dan pembolehubah persekitaran ditentukan untuk menetapkan kata laluan akar dan kata laluan akaun pangkalan data. Selain itu, kami menggunakan volum untuk mengekalkan data mysql.

  1. Membina dan memulakan bekas

Dengan fail Dockerfile dan Docker Compose, kami boleh membina dan memulakan bekas. Untuk membina bekas, pergi ke direktori di mana fail Docker Compose terletak di terminal dan jalankan arahan berikut:

docker-compose build

Perintah ini akan membina semua bekas aplikasi berdasarkan fail Docker Compose, termasuk bekas web dan mysql.

Seterusnya, jalankan arahan berikut untuk memulakan aplikasi:

docker-compose up

Ini akan memulakan semua bekas dan menyambungkannya bersama. Kami boleh mengakses aplikasi kami dengan memasukkan http://localhost:8000 dalam pelayar.

  1. Ringkasan

Di atas ialah langkah asas untuk melaksanakan kontena Docker menggunakan PHP. Pendekatan ini ialah cara yang mudah untuk menjadikan penggunaan dan penyelenggaraan aplikasi lebih cekap. Melalui Docker, kami boleh bertukar dengan cepat daripada persekitaran pembangunan kepada persekitaran pengeluaran, sambil memastikan ketekalan aplikasi dalam persekitaran yang berbeza. Jika perlu, ia boleh diubah dan disesuaikan untuk memenuhi keperluan aplikasi anda. Sudah tentu, Docker juga merupakan alat yang besar, yang memerlukan kita mempunyai pemahaman dan penguasaan yang mencukupi semasa menggunakannya.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kontena Docker menggunakan 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
Artikel sebelumnya:Muat naik fail menggunakan PHPArtikel seterusnya:Muat naik fail menggunakan PHP