10. Crear Archivo Docker Compose Parte 1 10. Crear Archivo Docker Compose Parte 1
¡Claro que sí! Continuemos con el siguiente paso crucial: la creación del archivo Docker Compose, parte fundamental de la orquestación de la aplicación.
🏗️ 10. Crear Archivo Docker Compose (Parte 1)
En esta parte, crearemos el archivo docker-compose.yml, que define y orquesta el servicio de PHP que acabamos de construir con el Dockerfile.
Paso 1: Corregir el Dockerfile y Preparar la Terminal
Antes de crear el archivo Compose, el contenido indica una corrección necesaria en el Dockerfile.
Abre el archivo
Dockerfilepara aplicar la corrección (asegúrate de estar en el directorio~/laravel):Bashnano DockerfileBusca la línea donde se actualizan e instalan los paquetes y asegúrate de que esté correcto, agregando el guion a
apt-get:Dockerfile# Antes: RUN apt get update && apt get install -y \ # Después (Asegúrate de que 'apt-get' tenga el guion): RUN apt-get update && apt-get install -y \ # ... resto de las líneas ...Guarda los cambios (
Ctrl + O,Enter) y sal del editor (Ctrl + X).Obtén el ID de usuario (
uid) de tu usuario actual para usarlo como argumento en el archivo Compose. (En este ejemplo es1000):Bashecho $UID # Opcionalmente, 'id -u' también funciona.Crea el archivo
docker-compose.yml:Bashnano docker-compose.yml
Paso 2: Contenido del Archivo docker-compose.yml (App Service)
A continuación, se muestra la configuración de la versión, los servicios y la red, enfocándose inicialmente en el servicio de la aplicación (app). Recuerda que la indentación con dos espacios es fundamental en los archivos YAML.
** (Referencia a Imagen 10. Crear Archivo Docker Compose Parte 1.png)
Explicación de la Configuración
version: "3": Especifica la sintaxis de la versión 3 de Docker Compose.services: app: Define el contenedor principal de PHP FPM.build: Le dice a Compose que no descargue una imagen preexistente, sino que la construya localmente usando elDockerfileen el contexto actual (.).args: Envía el usuario (udemy) y el ID (1000) a las variablesARGdefinidas en elDockerfile.image: laravel-app: Etiqueta la imagen construida con este nombre.volumes: - ./:/var/www: Esta es la línea más importante para el desarrollo. Monta el directorio de tu proyecto local (./) dentro del contenedor (/var/www), permitiendo editar archivos en tu máquina local y ver los cambios inmediatamente en el contenedor.networks: - laravel: Conecta el servicio a la red interna llamadalaravel.
networks: laravel: driver: bridge: Define una red de tipo bridge. Esto es esencial porque permitirá que otros contenedores que agregaremos después (como Nginx y MySQL) se comuniquen con este contenedorapputilizando su nombre de servicio como un nombre de host.
Siguiente Paso: Ya tenemos la imagen base de PHP y el archivo Compose parcial. En el próximo paso, añadirás los servicios de Nginx y MySQL al archivo docker-compose.yml para completar el entorno de desarrollo.
¿Estás listo para continuar con la Parte 2 del archivo Docker Compose?
Comentarios
Publicar un comentario