Tutorial Completo: Configuración de Entorno de Desarrollo Laravel con Docker
Obtener vínculo
Facebook
X
Pinterest
Correo electrónico
Otras apps
¡Por supuesto! Es un placer consolidar toda la información de las clases en un tutorial completo y detallado. Aquí tienes la guía paso a paso para configurar tu máquina virtual y montar un entorno de desarrollo Laravel con Docker y persistencia de datos.
🎓 Tutorial Completo: Configuración de Entorno de Desarrollo Laravel con Docker
Este tutorial cubre los procesos esenciales para preparar una máquina virtual con una IP estática, instalar y configurar Docker y Docker Compose, y finalmente, orquestar una aplicación Laravel completa con Nginx y MySQL.
1. Configurar la Red de Nuestra Máquina Virtual (IP Estática)
El objetivo es asignar una dirección IP estática a tu máquina virtual (VM) para garantizar un acceso remoto estable mediante SSH.
1.1. Configuración del Adaptador de Red (Host)
Apaga la máquina virtual (VM).
Accede a la Configuración de la VM y navega a la sección Red.
Cambia el modo de red a Adaptador Puente (Bridge Adapter). Esto permite que la VM se comporte como un dispositivo independiente en tu red local, obteniendo su propia IP en el mismo rango que tu host.
1.2. Configuración de IP Estática (Dentro de la VM)
Reinicia la VM.
Accede al directorio de configuración de red Netplan:
Bash
cd /etc/netplan/
[Imagen de la terminal mostrando: cd /etc/netplan/]
Edita el archivo de configuración principal (generalmente 00-installer-config.yaml) usando sudo y nano:
Bash
ls
sudo nano 00-installer-config.yaml
[Imagen de la terminal mostrando: ls y luego sudo nano 00-installer-config.yaml]
Establece la configuración estática dentro del archivo YAML, asegurando una correcta indentación (doble espacio). Cambia dhcp4: true a dhcp4: false y añade la IP deseada, la puerta de enlace (gateway4) y los servidores DNS:
Configuración de Red Estática (Netplan)
23 nov, 2:19
[Imagen de la terminal mostrando: nano Dockerfile]
4.2. Contenido del Dockerfile
El siguiente código YAML (corregido y completo) define la imagen:
Dockerfile para PHP-FPM con Laravel
23 nov, 2:19
5.2. Contenido del Docker Compose (App Service)
Contenido del archivo de configuración de Nginx:
Asegúrate de que las variables de conexión a la base de datos apunten al nombre del servicio Docker Compose (db) y utiliza credenciales claras:
[Imagen de la terminal mostrando: docker exec laravel_app_1 php artisan migrate y la creación exitosa de las tablas]
* **Resultado:** Si las tablas se migran exitosamente, confirma que tu aplicación Laravel, Nginx y MySQL están configurados correctamente y se comunican a través de la red de Docker.
Con esto, has completado la configuración de un entorno de desarrollo robusto y persistente. El siguiente paso recomendado es configurar un dominio local para evitar el uso de la IP y el puerto.
# This is the network config written by 'subiquity'
network:
version: 2
ethernets:
enp0s3: # El nombre de tu interfaz de red
dhcp4: false
addresses: [192.168.1.208/24] # IP estática y máscara
gateway4: 192.168.1.1# Tu puerta de enlace local
nameservers:
addresses: [8.8.8.8, 8.8.4.4] # DNS de Google
```
*\[Imagen del editor nano con el contenido YAML de configuración de IP estática]*
5. **Aplica los cambios** y verifica la nueva dirección IP:
```bash
sudo netplan apply
ip addr
```
6. **Verifica la conexión a Internet** con un ping:
```bash
ping google.com
```
---
## 2. Configurar y Actualizar Máquina a través de SSH
El acceso remoto por SSH te permite trabajar directamente desde la terminal de tu máquina local, sin necesidad de usar la consola de la VM.
### 2.1. Verificar el Servicio SSH
1. Asegúrate de que el servidor SSH esté activo en la VM:
```bash
sudo /etc/init.d/ssh status
```
*\[Imagen de la terminal mostrando: `sudo /etc/init.d/ssh status` con el estado `Active: active (running)`]*
### 2.2. Conexión Remota (Host Local)
1. Abre la terminal en tu máquina local (Git Bash, PowerShell o Terminal).
2. Conéctate usando tu usuario y la IP estática configurada:
```bash
ssh udemy@192.168.1.208
```
3. Acepta la clave de host si es la primera vez (`yes`) e introduce tu contraseña. A partir de ahora, trabajarás desde esta terminal.
### 2.3. Actualizar el Sistema Operativo
Mantener el servidor actualizado es fundamental, principalmente por seguridad.
1. **Actualizar la lista de paquetes:**
```bash
sudo apt update
```
2. **Actualizar el sistema:**
```bash
sudo apt upgrade -y
```
3. **Instalar Net Tools** (para comandos clásicos como `ifconfig`):
```bash
sudo apt install net-tools -y
```
---
## 3. Instalar Docker y Docker Compose
Instalaremos el motor de contenedores Docker y su herramienta de orquestación, Docker Compose.
### 3.1. Instalación de Docker y Configuración del Servicio
1. **Instalar Docker:**
```bash
sudo apt install docker.io -y
```
2. **Habilitar e Iniciar el Servicio:**
```bash
sudo systemctl enable --now docker
```
*\[Imagen de la terminal mostrando: `sudo systemctl enable --now docker` y la creación del enlace simbólico]*
3. **Verificar la versión** (ejemplo):
```bash
docker --version
# Docker version 19.03.8, build afacb8b7f0
```
### 3.2. Instalación de Docker Compose
1. **Instalar Docker Compose:**
```bash
sudo apt install docker-compose -y
```
*\[Imagen de la terminal mostrando: `sudo apt-get install docker-compose`]*
### 3.3. Configuración de Permisos (Ejecución sin `sudo`)
Es buena práctica agregar tu usuario al grupo `docker` para ejecutar comandos sin usar `sudo`.
1. **Añadir el Usuario al Grupo Docker:**
```bash
# Si el grupo no existe (la instalación de docker.io normalmente lo crea)
sudo groupadd docker
# Añadir el usuario actual al grupo
sudo usermod -aG docker $USER
# Reiniciar la membresía del grupo para la sesión actual
newgrp docker
```
2. **Probar Docker:**
Ejecuta la imagen de prueba para confirmar que no necesitas `sudo` y que la configuración funciona:
```bash
docker run hello-world
```
*\[Imagen de la terminal mostrando: `sudo usermod -aG docker $USER`, `newgrp docker` y `docker run hello-world`]*
---
## 4. Crear Archivo Dockerfile
El Dockerfile define la imagen de PHP-FPM (FastCGI Process Manager) que usaremos para nuestra aplicación Laravel, instalando todas las dependencias necesarias.
https://copy.sh/v86/?profile=linux26 Ejercicios para Practicar en Terminales Online Ejercicio Básico 1 - Práctica Inicial bash # En la terminal online, escribe estos comandos: whoami pwd ls mkdir practica cd practica touch archivo1.txt ls -l Ejercicio Básico 2 - Crear y Copiar bash # Continuación del ejercicio anterior echo "Hola mundo desde terminal online" > archivo1.txt cat archivo1.txt mkdir copias cp archivo1.txt copias/ ls copias/ cat copias/archivo1.txt Ejercicio Básico 3 - Exploración bash # Explorar el sistema cd / ls cd home ls cd ~ pwd Te voy a guiar paso a paso en un ejercicio muy básico y fácil para principiantes. ¡Vamos a hacerlo juntos! Paso a Paso del Ejercicio Paso 1: Abrir la Terminal Presiona Ctrl + Alt + T para abrir la terminal en Ubuntu. Paso 2: Crear una Carpeta Principal bash mkdir mi_primer_ejercicio Paso 3: Entrar a la Carpeta bash cd mi_primer_ejercicio Paso 4: Crear un Archivo de Texto bash touch mi_archivo.txt Paso 5...
Tutorial: Instalar Docker en Ubuntu Server usando docker.io Tutorial completo con docker.io Paso 1: Actualizar el sistema bash sudo apt update sudo apt upgrade -y Paso 2: Instalar Docker desde los repositorios de Ubuntu bash sudo apt install docker.io Paso 3: Habilitar e iniciar el servicio Docker bash # Habilitar Docker para que inicie automáticamente sudo systemctl enable docker # Iniciar el servicio Docker sudo systemctl start docker # Verificar que el servicio está corriendo sudo systemctl status docker Paso 4: Configurar permisos de usuario Verificar si el grupo docker existe bash sudo grep docker /etc/group Agregar tu usuario al grupo docker bash sudo usermod -aG docker $USER Aplicar los cambios de grupo inmediatamente bash newgrp docker Paso 5: Verificar la instalación bash # Verificar versión de Docker docker --version # Probar Docker con un contenedor de prueba docker run hello-world Comprobación final Verificar que todo funcion...
En Linux, todo es un archivo. A medida que te adentres en Linux, lo comprenderás, pero por ahora, tenlo en cuenta. Cada archivo está organizado en un árbol de directorios jerárquico. El primer directorio del sistema de archivos se denomina, acertadamente, directorio raíz. El directorio raíz contiene muchas carpetas y archivos, que pueden almacenar más carpetas y archivos, etc Introducción a los Directorios en Linux En Linux (incluyendo Ubuntu), los directorios (carpetas) siguen una estructura jerárquica que comienza desde el directorio raíz ( / ). Este sistema organiza todos los archivos y programas del sistema. Estructura Básica del Sistema de Archivos text / ├── bin -> Comandos esenciales del sistema ├── etc -> Archivos de configuración ├── home -> Directorios de usuarios ├── var -> Archivos variables (logs, etc.) ├── tmp -> Archivos temporales ├── usr -> Programas y aplicaciones └── ... Comandos Básicos para Trabajar con Directorios 1. Navegación e...
Comentarios
Publicar un comentario