Docker untuk Codeigniter 3
Untuk menggunakan Docker dengan CodeIgniter 3, Anda perlu membuat Dockerfile dan docker-compose.yml. Berikut adalah contoh konfigurasi untuk keduanya:
1. Buatlah docker-compose.yml berikut:
1. Buatlah docker-compose.yml berikut:
version: "3"
services:
codeigniter-3:
build: .
ports:
- "80:80"
volumes:
- .:/var/www/html
depends_on:
- db
db:
image: mysql:5.7
ports:
- "3306:3306"
restart: always
environment:
MYSQL_DATABASE: hotelku
MYSQL_USER: freehost
MYSQL_PASSWORD: freehost
MYSQL_ROOT_PASSWORD: freehost
command: --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
volumes:
- db_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
ports:
- "8080:80"
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: freehost
depends_on:
- db
volumes:
db_data:2. Buatlah Dockerfile berikut:# Menggunakan image PHP 7.3 sebagai base image
FROM php:7.3-apache
# Install dependensi dan ekstensi PHP yang dibutuhkan untuk CodeIgniter
RUN apt-get update && apt-get install -y \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
zip \
unzip
# Install ekstensi GD dan mysqli
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd mysqli
# Aktifkan mod_rewrite untuk Apache
RUN a2enmod rewrite
# Copy kode CodeIgniter ke dalam container
COPY . /var/www/html/
# Set direktori kerja
WORKDIR /var/www/html/
# Expose port 80
EXPOSE 80
# Jalankan Apache server
CMD ["apache2-foreground"]Pastikan Anda meletakkan Dockerfile dan docker-compose.yml di direktori utama dari proyek Codeigniter Anda. Setelah Anda membuat file-file tersebut, langkah-langkah selanjutnya adalah:
- Pastikan Anda memiliki Docker dan Docker Compose terinstal di sistem Anda.
- Buka terminal atau command prompt, lalu navigasi ke direktori proyek yang berisi Dockerfile dan docker-compose.yml.
- Jalankan perintah docker-compose up -d untuk menjalankan kontainer Docker dan mengaktifkan CodeIgniter di http://localhost:80.

