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:

bash
pwd

En 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:

bash
cd /home
ls

Esto 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:

bash
mkdir laravel
cd laravel

Paso 3: Crear el archivo Dockerfile

Ahora creamos el archivo Dockerfile con el siguiente comando:

bash
nano Dockerfile

Y agregamos el siguiente contenido:

dockerfile
# 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 $user

Explicación del Dockerfile

  1. Imagen base: Usamos php:7.4-fpm ya que Laravel 8 requiere PHP 7.3 o superior.

  2. Argumentosuser y uid se usarán para configurar el usuario dentro del contenedor.

  3. Paquetes del sistema: Instalamos herramientas como Git, cURL y librerías para manejar imágenes, XML, ZIP, etc.

  4. Extensiones de PHP: Instalamos extensiones esenciales para Laravel como pdo_mysqlmbstringgd, entre otras.

  5. Composer: Copiamos el ejecutable de Composer desde su imagen oficial.

  6. Usuario personalizado: Creamos un usuario con los mismos privilegios que tu usuario local para evitar problemas de permisos.

  7. Directorio de trabajo: Establecemos /var/www como 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

Entradas más populares de este blog

ejercicios-Crear Carpeta y Archivo de Texto en Ubuntu

Instalar Docker en Ubuntu Server usando docker.io

Tutorial de Carpetas y Directorios en Ubuntu Linux