9. Crear Archivo Dockerfile
¡Claro! Aquí tienes el post estructurado y mejorado para que sea más claro y profesional:
9. Crear Archivo Dockerfile
En este tutorial vamos a crear nuestro archivo Dockerfile, que contendrá toda la configuración necesaria para nuestro entorno PHP con Laravel.
Paso 1: Crear el directorio de trabajo
Primero, verifica en qué ruta te encuentras ejecutando el comando:
pwdEn mi caso, estoy en /home/udemy. Esta será nuestra ruta base de trabajo. Para ti, aparecerá el usuario con el que estés trabajando.
Si deseas navegar a otras rutas, puedes usar:
cd /home
lsEsto te mostrará los usuarios disponibles. En mi caso, el usuario es udemy.
Paso 2: Crear el directorio del proyecto
Creamos un directorio llamado laravel y accedemos a él:
mkdir laravel
cd laravelPaso 3: Crear el archivo Dockerfile
Ahora creamos el archivo Dockerfile con el siguiente comando:
nano DockerfileY agregamos el siguiente contenido:
# Usamos la imagen oficial de PHP 7.4 FPM
FROM php:7.4-fpm
# Definimos argumentos para el usuario y su ID
ARG user
ARG uid
# Actualizamos e instalamos paquetes necesarios
RUN apt-get update && apt-get install -y \
git \
curl \
libpng-dev \
libonig-dev \
libxml2-dev \
zip \
unzip
# Limpiamos la caché para reducir el tamaño de la imagen
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Instalamos extensiones de PHP necesarias
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd
# Instalamos Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Creamos un usuario y lo agregamos a los grupos www-data y root
RUN useradd -G www-data,root -u $uid -d /home/$user $user
# Creamos el directorio del usuario y cambiamos el propietario
RUN mkdir -p /home/$user/.composer && \
chown -R $user:$user /home/$user
# Establecemos el directorio de trabajo
WORKDIR /var/www
# Cambiamos al usuario creado
USER $userExplicación del Dockerfile
Imagen base: Usamos
php:7.4-fpmya que Laravel 8 requiere PHP 7.3 o superior.Argumentos:
useryuidse usarán para configurar el usuario dentro del contenedor.Paquetes del sistema: Instalamos herramientas como Git, cURL y librerías para manejar imágenes, XML, ZIP, etc.
Extensiones de PHP: Instalamos extensiones esenciales para Laravel como
pdo_mysql,mbstring,gd, entre otras.Composer: Copiamos el ejecutable de Composer desde su imagen oficial.
Usuario personalizado: Creamos un usuario con los mismos privilegios que tu usuario local para evitar problemas de permisos.
Directorio de trabajo: Establecemos
/var/wwwcomo el directorio donde estará nuestro proyecto.
Siguiente paso
En el próximo tutorial, crearemos el archivo docker-compose.yml donde configuraremos servicios adicionales como Nginx y MySQL, y conectaremos todo con nuestra imagen de PHP.
¡Nos vemos en el siguiente video!
Espero que este post te sea de utilidad. ¿Necesitas que ajuste algo más?
Comentarios
Publicar un comentario