Rumah > pembangunan bahagian belakang > tutorial php > Dockerize CodeIgniter Panduan Langkah demi Langkah

Dockerize CodeIgniter Panduan Langkah demi Langkah

Mary-Kate Olsen
Lepaskan: 2024-12-06 12:57:11
asal
1061 orang telah melayarinya

Dockerize CodeIgniter A Step-by-Step Guide

Dalam catatan blog ini, kami akan membincangkan cara untuk Dockerize aplikasi CodeIgniter 3. Pada penghujung panduan ini, anda akan mempunyai aplikasi kontena yang berjalan dengan Apache, PHP dan MySQL, semuanya diuruskan melalui Docker Compose. Pendekatan ini akan menyelaraskan persekitaran pembangunan anda dan memastikan persediaan yang konsisten merentas berbilang sistem.

Prasyarat

Sebelum kami menyelami butirannya, pastikan anda telah memasang alatan berikut:

  • Docker: Untuk menyimpan aplikasi dan kebergantungannya.
  • Karang Docker: Untuk mengurus aplikasi Docker berbilang bekas.
  • CodeIgniter 3: Projek CodeIgniter 3 anda yang sedia ada.

Langkah 1: Menyediakan Fail Docker:

Fail Docker mentakrifkan persekitaran di mana aplikasi anda akan dijalankan. Begini cara untuk menyediakannya:

# Use an official PHP image with Apache
FROM php:8.2-apache

# Enable Apache mod_rewrite for CodeIgniter
RUN a2enmod rewrite

# Set the working directory in the container
WORKDIR /var/www/html

# Copy project files into the container
COPY . /var/www/html

# Install necessary PHP extensions
RUN docker-php-ext-install mysqli

# Set proper permissions for Apache to access files
RUN chown -R www-data:www-data /var/www/html && chmod -R 755 /var/www/html

# Expose port 80
EXPOSE 80
Salin selepas log masuk

Langkah 2: Menyediakan Docker Compose

Sekarang mari kita tentukan fail docker-compose.yml, yang akan mengkonfigurasi dan menjalankan berbilang bekas untuk aplikasi web anda dan pangkalan data.

version: '3.8'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: ci3-docker  # Set the container name here
    ports:
      - "8080:80"  # Map port 80 of the container to port 8080 on the host
    volumes:
      - .:/var/www/html  # Mount current directory to /var/www/html inside the container
    depends_on:
      - db  # Ensure the database is up before starting the application

  db:
    image: mysql:8.0  # Uses the official MySQL image
    container_name: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root  # Root password for MySQL
      MYSQL_DATABASE: ci3docker  # Initial database to create
    ports:
      - "3306:3306"  # Expose port 3306 for database connections
    volumes:
      - db_data:/var/lib/mysql  # Persist MySQL data

volumes:
  db_data:
    name: ci3-docker  # Name the volume for MySQL data persistence
Salin selepas log masuk

Langkah 3: Bina dan Jalankan Bekas

Setelah fail Dockerfile dan docker-compose.yml anda sedia, tiba masanya untuk membina dan menjalankan bekas. Dalam akar projek anda, buka terminal dan jalankan arahan berikut:
Bina imej Docker:

docker-compose build
Salin selepas log masuk

Mulakan bekas:

docker-compose up
Salin selepas log masuk

Ini akan memulakan aplikasi CodeIgniter dan pangkalan data MySQL. Bekas apl boleh diakses di http://localhost:8080, manakala pangkalan data MySQL akan dijalankan pada port 3306.

Langkah 4: Kemas kini Konfigurasi Pangkalan Data CodeIgniter

Sekarang, mari pastikan CodeIgniter boleh menyambung ke pangkalan data MySQL di dalam bekas. Buka application/config/database.php anda dan kemas kini tetapan sambungan pangkalan data:

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'db',  // Service name from Docker Compose
    'username' => 'root',
    'password' => 'root',  // Password set in docker-compose.yml
    'database' => 'ci3docker',  // Database name set in docker-compose.yml
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);
Salin selepas log masuk

Langkah 5: Akses Aplikasi

Setelah bekas siap, lawati http://localhost:8080 dalam pelayar web anda. Jika semuanya disediakan dengan betul, aplikasi CodeIgniter 3 anda seharusnya berjalan lancar di dalam bekas Docker.

Langkah 6: Menguruskan Bekas Docker

Untuk menghentikan bekas, jalankan:

docker-compose down
Salin selepas log masuk

Kesimpulan

Dalam panduan ini, kami berjaya melabuhkan aplikasi CodeIgniter 3, menjadikannya mudah alih dan mudah diurus. Docker Compose membolehkan kami mentakrif dan menjalankan aplikasi berbilang bekas dengan mudah, menjadikannya sempurna untuk pembangunan dan persekitaran pengeluaran.

Dengan menggunakan Docker, anda memastikan persekitaran yang konsisten untuk semua pembangun dan menggunakan aplikasi anda dengan mudah ke pelbagai sistem tanpa perlu risau tentang kebergantungan. Jika anda ingin menskalakan aplikasi anda atau menjalankannya dalam persekitaran awan, Docker menjadikannya sangat mudah untuk diurus.

Atas ialah kandungan terperinci Dockerize CodeIgniter Panduan Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan