Dockerizando codeigniter 3
Ve directo al repositorio.
Poblemática
- Dar mantenimiento a una aplicación en producción con php 7.4
- Replicar el entorno de producción
- Agregar un sistema de versiones
- Poder implementar el entorno de pruebas local con los mismos paquetes
Descripción
Se utilizó docker-compose para poder levantar ambos servicios. Como se necesita que la versión de php sea 7.4 con un servidor de apache y varios plugins para la conexión al base de datos MySQL, se creó un carpeta /php
donde se agregan las configuraciones extra.
Código
version: "3"
services:
php:
build:
context: ./php
dockerfile: DockerFile
container_name: codeigniter3
depends_on:
- mysql
volumes:
- ./codeigniter3:/var/www/html
ports:
- 7700:80
stdin_open: true
tty: true
mysql:
container_name: mysql
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD:
MYSQL_DATABASE:
MYSQL_USER:
MYSQL_PASSWORD:
volumes:
- ./mysql-data:/var/lib/mysql
- ./database.sql:/docker-entrypoint-initdb.d/database.sql
ports:
- 3310:3306
phpmyadmin:
container_name: phpmyadmin-ci
image: phpmyadmin/phpmyadmin
ports:
- "8080:80"
restart: always
environment:
PMA_HOST: mysql
depends_on:
- mysql
FROM php:7.4-apache
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli
RUN apt-get update && apt-get upgrade -y
RUN a2enmod rewrite