Tema
Preparar el entorno
Antes de tocar ningún servicio, hay que dejar funcionando tres cosas: Docker, el emulador y el AWS CLI. Son diez minutos, y una vez hecho no se repite.
Lo que necesitas
| Requisito | Por qué | Cómo comprobarlo |
|---|---|---|
| Docker | El emulador y varios servicios corren en contenedores | docker --version |
| 4 GB de RAM libres | PostgreSQL, Redis o Kafka arrancan como contenedores reales | free -h · en Mac, Docker Desktop → Resources |
| Linux con glibc, macOS o Windows | El binario del CLI está enlazado a glibc | — |
| AWS CLI v2 | Es el mismo cliente que usarías contra AWS real | aws --version |
Aviso para quien use Alpine: el CLI de Floci no arranca en Alpine ni en imágenes basadas en musl — devuelve
not foundaunque el archivo esté ahí. Usa Debian, Ubuntu o Fedora.
Si no tienes el AWS CLI, instálalo sin permisos de administrador:
bash
curl -s "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o awscli.zip
unzip -q awscli.zip
./aws/install -i ~/.local/aws-cli -b ~/.local/bin
export PATH="$HOME/.local/bin:$PATH"1. Instalar el emulador
bash
curl -fsSL https://floci.io/install.sh | shEl instalador descarga el binario, verifica su checksum y lo deja en /usr/local/bin/floci. Comprueba que responde:
bash
floci --version2. Revisar que el entorno esté sano
Antes de arrancar nada:
bash
floci doctorDiagnostica los problemas típicos —Docker apagado, puerto 4566 ocupado, falta de memoria— y te dice cuál es. Si algo falla más adelante, este es el primer sitio donde mirar.
3. Arrancar
bash
floci startDescarga la imagen la primera vez, levanta el contenedor y espera a que esté listo. Arranca en milisegundos y consume unos 12 MiB en reposo: es un binario nativo, no una aplicación de escritorio.
Comprueba el estado:
bash
floci status4. Apuntar el AWS CLI al emulador
Este es el paso que lo cambia todo, y el que más se olvida:
bash
eval $(floci env)Eso exporta cuatro variables:
bash
export AWS_ENDPOINT_URL=http://localhost.floci.io:4566
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
export AWS_DEFAULT_REGION=us-east-1Léelas con calma, porque explican el curso entero:
AWS_ENDPOINT_URLes lo único que separa este laboratorio de AWS real. Tus comandos no cambian; cambia a dónde se envían. El día que quites esta variable, los mismos comandos irán a Amazon.test/testson credenciales ficticias. El emulador no las valida, pero el AWS CLI se niega a funcionar sin ellas.localhost.floci.ioes un nombre que resuelve a tu propia máquina. Hace falta porque S3 direcciona los buckets como subdominios (mi-bucket.localhost.floci.io), ylocalhosta secas no admite subdominios.
⚠️
eval $(floci env)vale solo para la terminal actual. Si abres otra, repítelo, o añádelo a tu~/.bashrc. Muchos de los «no me funciona» del curso son esto: una terminal nueva sin las variables.
5. Comprobar que todo encaja
bash
aws s3 mb s3://mi-primer-bucket
aws s3 lsSi ves tu bucket en la lista, ya está: tienes AWS funcionando en tu máquina.
make_bucket: mi-primer-bucket
2026-08-08 16:27:50 mi-primer-bucketComandos que vas a usar a diario
| Comando | Para qué |
|---|---|
floci start / floci stop | Arrancar y parar el emulador |
floci status | Ver si está vivo y qué versión corre |
floci logs | Leer los registros — imprescindible cuando algo falla en silencio |
floci services | Listar los servicios disponibles |
floci doctor | Diagnosticar el entorno |
floci snapshot | Guardar y restaurar el estado del laboratorio |
floci snapshot es el que más se agradece al practicar: te permite montar un escenario, hacer un desastre y volver atrás sin repetir todo el montaje.
Antes de seguir
Deja el emulador arrancado y las variables cargadas. Todas las lecciones siguientes dan por hecho que:
- [ ]
floci statusresponde que está en marcha - [ ]
aws s3 lsno da error de conexión - [ ] Estás en la misma terminal donde ejecutaste
eval $(floci env)
Cuando termines de practicar, floci stop libera la memoria. Nada de lo que hagas aquí llega a internet ni genera un céntimo de factura.