9. Crear Archivo Dockerfile

 Primeros pasos: Configurando el entorno para Laravel con Docker

¡Hola a todos! 👋 Hoy comenzaremos a preparar nuestro entorno de desarrollo para trabajar con Laravel 8 usando Docker. Vamos paso a paso:

📂 Creando nuestro directorio de trabajo

Primero, verifiquemos nuestra ubicación actual:

bash
pwd

Estaremos en la ruta /home/[usuario]/Udemy/ (en mi caso /home/mi-usuario/, pero a ustedes les aparecerá su nombre de usuario).

Para navegar allí directamente:

bash
cd ~/Udemy
ls

Crearemos un directorio específico para Laravel:

bash
mkdir Laravel
cd Laravel

🐋 Configurando el Dockerfile para PHP

Ahora crearemos el archivo Dockerfile con la configuración necesaria:

bash
nano Dockerfile

Contenido básico del Dockerfile:

dockerfile
FROM php:7.4-fpm

# Argumentos que recibiremos al construir la imagen
ARG user
ARG uid

# Instalación de dependencias del sistema
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip \
    && rm -rf /var/lib/apt/lists/*

# Limpieza de caché
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# Extensiones PHP necesarias para Laravel
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath

# Instalación de Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Creación de usuario y permisos
RUN useradd -G www-data,root -u $uid -d /home/$user $user
RUN mkdir -p /home/$user && \
    chown -R $user:$user /home/$user

# Directorio de trabajo
WORKDIR /var/www
USER $user

🔍 Explicación clave:

  1. Usamos PHP 7.4-FPM (requerido para Laravel 8)

  2. Instalamos dependencias esenciales como Git, cURL y librerías para imágenes

  3. Añadimos extensiones PHP críticas (pdo_mysql, mbstring, etc.)

  4. Configuramos Composer y permisos de usuario adecuados

En el próximo tutorial configuraremos el archivo docker-compose.yml para integrar Nginx y MySQL.

¿Alguna duda hasta este punto? ¡Déjenla en los comentarios! 👇

#Laravel #Docker #PHP #DesarrolloWeb

Comentarios

Entradas más populares de este blog

14. Publish and Detached modes

12. Hola Mundo en Docker.

11¿Qué es Docker? y ¿Por qué debo saberlo?