Loading...
Conceptos básicos · 7 min de lectura

¿Qué es Docker (y lo necesito)?

Docker es una forma de empaquetar una aplicación junto con todo lo que necesita para funcionar — código, entorno de ejecución, bibliotecas y configuración — en una única unidad portátil llamada contenedor. El contenedor se comporta igual en tu portátil, en la máquina de un colega y en CDN.com.tr. No tienes que ser un experto en Docker para beneficiarte: a menudo solo nos indicas una imagen existente.

¿Qué es Docker (y lo necesito)?

La analogía cotidiana

Piensa en un contenedor de transporte marítimo. Pongas lo que pongas dentro, tiene una forma estándar, así que cualquier barco, camión o grúa puede transportarlo sin importarle el contenido. Un contenedor Docker hace lo mismo con el software: envuelve tu aplicación y sus dependencias en un paquete estándar, de modo que cualquier sistema compatible puede ejecutarlo de forma idéntica — sin sorpresas del tipo "en mi máquina funciona".

Imagen vs contenedor

Dos términos causan casi toda la confusión. Una "imagen" es el plano — una instantánea congelada de tu aplicación y su entorno. Un "contenedor" es una instancia viva, en ejecución, creada a partir de esa imagen. Puedes arrancar muchos contenedores desde una sola imagen, igual que puedes abrir muchas copias de un documento desde una plantilla. Las imágenes se almacenan normalmente en un "registro" (como Docker Hub o uno privado) y se descargan cuando hacen falta.

Para qué sirve docker-compose

Las aplicaciones reales rara vez son una sola pieza — podrías tener una app web, un worker en segundo plano, una base de datos y una caché. Un archivo docker-compose.yml enumera todos estos "servicios" y cómo se conectan, de modo que toda la pila puede arrancar junta con una sola definición. En CDN.com.tr puedes importar un archivo compose y cada servicio se convierte en una aplicación gestionada, mientras que las bases de datos y las cachés pueden convertirse en complementos gestionados.

¿Necesitas Docker realmente?

A menudo, menos de lo que esperas. Si tienes WordPress o un sitio PHP, no necesitas ningún conocimiento de Docker — esas plataformas son de apuntar y hacer clic. Docker solo importa cuando quieres ejecutar una aplicación personalizada. Incluso entonces, muchas aplicaciones ya tienen una imagen lista que puedes usar por su nombre, o un archivo docker-compose que puedes importar, sin escribir Docker tú mismo.

Cómo funciona en CDN.com.tr

Para ejecutar una aplicación personalizada, nos das una imagen (por ejemplo, una imagen pública como "nginx" o la tuya desde un registro) o importas un archivo docker-compose. La plataforma descarga la imagen, la ejecuta, le da una URL con HTTPS automático y la mantiene sana. Gestionas las variables de entorno, el escalado y los reinicios desde el panel — sin administración de servidores y sin necesidad de construir imágenes en la propia plataforma.

Unos límites honestos

La plataforma ejecuta tus contenedores, pero no es un lugar para construir imágenes ni ejecutar Docker dentro de Docker, y no expone puertos TCP públicos en bruto (el acceso público es por HTTP(S); el tráfico interno entre servicios se mantiene privado). Para la mayoría de apps web, APIs, workers y herramientas esto es exactamente lo que quieres; para un sistema de CI que construye imágenes, las construirías en otro sitio y desplegarías el resultado aquí.

Cuándo te ayuda Docker aquí

Ejecutar una herramienta lista

Despliega algo como RabbitMQ o Jenkins por el nombre de la imagen, con un volumen persistente para que sus datos sobrevivan a los reinicios.

Publicar tu propia app

Construye tu imagen en tu propio pipeline, súbela a un registro y ejecútala aquí con una URL y HTTPS.

Traer una pila completa

Importa un docker-compose.yml y pon en marcha web, worker, base de datos y caché juntos en un solo paso.

Preguntas frecuentes

Lo básico es sencillo: una imagen es una plantilla, un contenedor es una copia en ejecución. Para usar CDN.com.tr lo normal es que solo proporciones el nombre de una imagen o un archivo compose — rara vez necesitas escribir Docker tú mismo.

Sí. El hosting de WordPress y PHP no requiere Docker en absoluto. Docker solo entra en juego para las aplicaciones de contenedor personalizadas.

De un registro — uno público como Docker Hub, o un registro privado con credenciales que añades en el panel. La plataforma descarga la imagen y la ejecuta.

No — la plataforma ejecuta imágenes, no las construye (no hay Docker dentro de Docker). Constrúyela en tu propio pipeline o en local, súbela a un registro y luego despliégala aquí.

Sí, si activas un volumen persistente para la aplicación, o usas un complemento gestionado de base de datos/Redis para los datos con estado.