Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menggunakan Docker untuk membungkus dan menggunakan program PHP?

Bagaimana untuk menggunakan Docker untuk membungkus dan menggunakan program PHP?

王林
王林asal
2023-07-29 17:48:381925semak imbas

Bagaimana untuk menggunakan Docker untuk membungkus dan menggunakan program PHP?

Dengan aplikasi meluas pengkomputeran awan dan teknologi kontena, semakin ramai pembangun mula menggunakan Docker untuk membungkus dan menggunakan aplikasi. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Docker untuk membungkus dan menggunakan program PHP dan memberikan contoh kod yang berkaitan.

1. Pasang Docker

Sebelum kita mula, kita perlu memasang Docker terlebih dahulu. Untuk langkah pemasangan, sila rujuk dokumentasi rasmi Docker dan pilih kaedah pemasangan yang sepadan mengikut sistem pengendalian yang berbeza.

2. Cipta Dockerfile

Dockerfile ialah fail yang digunakan untuk mentakrifkan proses pembinaan imej Docker. Kami boleh menentukan perisian, persekitaran dan kebergantungan yang diperlukan, dan membungkus program PHP ke dalamnya.

Mula-mula, cipta fail bernama Dockerfile dalam direktori akar program, dan kemudian tambah kandungan berikut di dalamnya:

# 指定基础镜像
FROM php:7.4-apache

# 拷贝程序文件到镜像中
COPY . /var/www/html/

# 安装程序所需的依赖
RUN apt-get update && apt-get install -y 
    libpng-dev 
    libonig-dev 
    libxml2-dev 
    && docker-php-ext-install -j$(nproc) pdo 
    && docker-php-ext-install -j$(nproc) mbstring 
    && docker-php-ext-install -j$(nproc) exif 
    && docker-php-ext-install -j$(nproc) pcntl 
    && docker-php-ext-install -j$(nproc) bcmath 
    && docker-php-ext-install -j$(nproc) gd 
    && docker-php-ext-install -j$(nproc) zip 
    && docker-php-ext-install -j$(nproc) mysqli 
    && docker-php-ext-install -j$(nproc) xml

# 设置Apache的DocumentRoot目录
RUN sed -ri -e 's!/var/www/html!/var/www/html/public!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!/var/www/html/public!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# 重启Apache服务
RUN service apache2 restart

Kandungan Dockerfile di atas termasuk bahagian berikut:

  • Nyatakan bahawa imej asas yang digunakan ialah php:7.4- apache, imej ini sudah mengandungi persekitaran berjalan PHP dan Apache.
  • Salin fail program ke direktori /var/www/html/ dalam imej.
  • Gunakan arahan apt-get untuk memasang kebergantungan yang diperlukan oleh program.
  • Tetapkan direktori DocumentRoot Apache kepada /var/www/html/public.
  • Mulakan semula perkhidmatan Apache.

3 Bina imej Docker

Jalankan arahan berikut dalam direktori tempat Fail Docker terletak, dan imej Docker akan dibina berdasarkan fail Docker:

$ docker build -t php-app .

Dalam arahan di atas, -t php -app dinyatakan sebagai Tentukan nama untuk imej yang dibina dan . menunjukkan direktori tempat Fail Docker berada. -t php-app表示为构建的镜像指定一个名称,.表示Dockerfile所在的目录。

四、运行Docker容器

构建完镜像后,我们可以使用以下命令来运行一个Docker容器:

$ docker run -d -p 80:80 php-app

以上命令中,-d表示在后台运行容器,-p 80:80表示将容器的80端口映射到主机的80端口,php-app

4. Jalankan bekas Docker

Selepas membina imej, kita boleh menggunakan arahan berikut untuk menjalankan bekas Docker:

rrreee

Dalam arahan di atas, -d bermaksud menjalankan bekas dalam latar belakang, -p 80:80 bermaksud memetakan port 80 bekas ke port 80 hos, dan php-app bermaksud nama bekas yang sedang berjalan.
  1. Kini, anda boleh mengakses program PHP yang dijalankan dalam bekas Docker dengan mengakses http://localhost.
  2. 5 Arahan tambahan
  3. Jika program perlu menyambung ke pangkalan data, anda boleh menambah pemacu pangkalan data yang sepadan pada Dockerfile dan menentukan parameter sambungan pangkalan data semasa menjalankan bekas.

Jika program memerlukan perkhidmatan atau komponen lain, anda boleh menambah langkah pemasangan dan konfigurasi yang sepadan dalam Dockerfile.

Anda boleh menggunakan Docker Compose untuk memudahkan proses membina dan menjalankan bekas Untuk kegunaan tertentu, sila rujuk dokumentasi rasmi Docker.

🎜🎜Ringkasan🎜🎜Dengan menggunakan Docker, kami boleh membungkus program PHP ke dalam bekas bebas untuk penggunaan dan pemindahan yang mudah. Artikel ini memperkenalkan cara menggunakan Docker untuk melaksanakan pembungkusan dan penggunaan program PHP dan memberikan contoh kod yang berkaitan. Harap ini membantu! 🎜

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Docker untuk membungkus dan menggunakan program 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