Bagaimana untuk menggunakan Docker Compose untuk membungkus dan menggunakan aplikasi PHP berbilang bekas?

王林
Lepaskan: 2023-07-31 12:10:02
asal
1323 orang telah melayarinya

Bagaimana untuk menggunakan Docker Compose untuk membungkus dan menggunakan aplikasi PHP berbilang bekas?

Dengan pembangunan aplikasi rangkaian, membina dan menggunakan aplikasi berbilang bekas yang kompleks telah menjadi semakin biasa. Docker ialah platform kontena popular yang membantu kami membina dan menggunakan aplikasi dengan cepat. Dan Docker Compose ialah alat untuk mentakrif dan menjalankan aplikasi Docker berbilang bekas.

Artikel ini akan memperkenalkan cara menggunakan Docker Compose untuk membungkus dan menggunakan aplikasi PHP ringkas yang terdiri daripada berbilang bekas.

Pertama, kita perlu mencipta fail docker-compose.yaml yang mentakrifkan bekas untuk aplikasi kita. Berikut ialah contoh asas:

version: '3'
services:
  webserver:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "80:80"
    depends_on:
      - database
    volumes:
      - ./src:/var/www/html
  database:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=mydatabase
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
Salin selepas log masuk

Fail di atas mentakrifkan dua perkhidmatan: pelayan web dan pangkalan data. Pelayan web ialah bekas aplikasi PHP kami, yang akan membina imej berasaskan Dockerfile dan melekapkan kod sumber aplikasi ke direktori /var/www/html bekas. Ia akan memetakan port tempatan 80 ke port kontena 80, supaya kami boleh mengakses aplikasi dengan mengakses localhost. Pelayan web juga menyatakan bahawa ia bergantung pada perkhidmatan pangkalan data.

Perkhidmatan pangkalan data menggunakan imej mysql:5.7 rasmi dan menetapkan beberapa pembolehubah persekitaran untuk mengkonfigurasi tetapan pangkalan data MySQL.

Selepas menyediakan fail docker-compose.yaml, kami boleh menggunakan arahan berikut untuk memulakan aplikasi kami:

docker-compose up -d
Salin selepas log masuk

Arahan di atas akan mencipta dan memulakan semua bekas. Parameter -d akan menyebabkan Docker Compose berjalan di latar belakang.

Apabila aplikasi dimulakan, kita boleh menggunakan arahan berikut untuk melihat status bekas:

docker-compose ps
Salin selepas log masuk

Arahan ini akan memaparkan semua bekas yang sedang berjalan dan statusnya.

Jika kami perlu mengemas kini kod atau konfigurasi aplikasi, kami hanya perlu mengubah suai fail kod sumber setempat. Memandangkan kami memasang kod sumber ke dalam bekas, perubahan pada fail setempat akan ditunjukkan dalam bekas dalam masa nyata.

Apabila kita ingin menghentikan aplikasi, kita boleh menggunakan arahan berikut:

docker-compose down
Salin selepas log masuk

Arahan ini akan menghentikan dan memadam semua bekas.

Selain konfigurasi asas, Docker Compose juga menyediakan banyak fungsi lain, seperti menyambungkan rangkaian kontena, menetapkan pembolehubah persekitaran, pengembangan, dsb.

Untuk meringkaskan, menggunakan Docker Compose untuk pembungkusan dan penggunaan aplikasi PHP berbilang bekas ialah cara yang pantas dan berkuasa. Dengan mentakrifkan fail docker-compose.yaml, kami boleh membina, menggunakan dan menskalakan aplikasi kompleks dengan mudah. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Docker Compose untuk membungkus dan menggunakan aplikasi PHP berbilang bekas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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!