mSin resumen de edición
Etiqueta: editor de código 2017
mSin resumen de edición
Línea 45: Línea 45:
Una vez que se tiene una imagen Docker, se puede ejecutar un contenedor con el siguiente comando:
Una vez que se tiene una imagen Docker, se puede ejecutar un contenedor con el siguiente comando:
[[Archivo:Docker 1.png|izquierda|marco]]
[[Archivo:Docker 1.png|izquierda|marco]]




Línea 66: Línea 68:
1. Dockerfile
1. Dockerfile
Un ejemplo simple de un Dockerfile para una aplicación web con Node.js podría ser el siguiente:
Un ejemplo simple de un Dockerfile para una aplicación web con Node.js podría ser el siguiente:
<nowiki>#</nowiki> Usar una imagen base oficial de Node.js
FROM node:14
<nowiki>#</nowiki> Crear y definir el directorio de trabajo
WORKDIR /app
<nowiki>#</nowiki> Copiar los archivos de la aplicación al contenedor
COPY . .
<nowiki>#</nowiki> Instalar las dependencias de la aplicación
RUN npm install
<nowiki>#</nowiki> Exponer el puerto 3000
EXPOSE 3000
<nowiki>#</nowiki> Comando para ejecutar la aplicación
CMD ["npm", "start"]

Revisión del 17:23 13 dic 2024

Docker es una plataforma de código abierto que permite a los desarrolladores crear, probar e implementar aplicaciones dentro de contenedores. Un contenedor es una unidad ligera y autónoma que agrupa todo lo necesario para ejecutar una aplicación, lo que incluye el código, las bibliotecas y las dependencias del sistema operativo.

Ventajas de Docker

Portabilidad: Los contenedores Docker pueden ejecutarse en cualquier máquina que tenga Docker instalado, independientemente de su sistema operativo o configuración.

Aislamiento: Cada contenedor es independiente y no afecta a otros contenedores o al sistema host, lo que reduce el riesgo de conflictos entre aplicaciones.

Eficiencia: Los contenedores comparten el kernel del sistema operativo, lo que los hace más ligeros y rápidos en comparación con las máquinas virtuales tradicionales.

Escalabilidad: Docker facilita el despliegue y la gestión de aplicaciones a gran escala, permitiendo a las organizaciones ajustar recursos rápidamente según sea necesario.

Conceptos Clave en Docker

Contenedor (Container)

Un contenedor es una instancia de una imagen Docker en ejecución. Este encapsula una aplicación y sus dependencias en un entorno aislado. A diferencia de las máquinas virtuales, los contenedores no necesitan un sistema operativo completo, sino que comparten el kernel del sistema operativo de la máquina host.

Imagen (Image)

Una imagen Docker es un paquete inmutable que contiene todo el código, bibliotecas, configuraciones y dependencias necesarias para ejecutar una aplicación. Las imágenes son la base de los contenedores y se crean a partir de un archivo de configuración llamado Dockerfile.

Dockerfile

Un Dockerfile es un archivo de texto que contiene una serie de instrucciones para construir una imagen Docker. Define el entorno necesario para ejecutar la aplicación, incluyendo la instalación de dependencias, la configuración del sistema y la ejecución del código.

Docker Hub

Docker Hub es un registro en la nube que contiene una colección de imágenes Docker preconstruidas. Los desarrolladores pueden descargar imágenes existentes o cargar sus propias imágenes para compartirlas con otros.

¿Cómo Funciona Docker?

1. Instalación de Docker Para comenzar a trabajar con Docker, es necesario instalar la herramienta en el sistema operativo elegido (Linux, Windows o macOS). Una vez instalado, Docker se ejecuta como un servicio en segundo plano y se comunica con los contenedores a través de una interfaz de línea de comandos o una interfaz gráfica de usuario.

2. Creación de una Imagen Docker

Para crear una imagen Docker personalizada, se sigue el siguiente proceso:

Escribir un Dockerfile: Este archivo describe el entorno necesario para la aplicación (por ejemplo, un servidor web, bases de datos, dependencias de software).

Construir la imagen: Usando el comando docker build, Docker lee el Dockerfile y genera una imagen que puede ser almacenada en el sistema local o subida a Docker Hub.

3. Ejecución de un Contenedor Una vez que se tiene una imagen Docker, se puede ejecutar un contenedor con el siguiente comando:



Este comando crea una instancia del contenedor y ejecuta la aplicación definida dentro de la imagen.

4. Gestión de Contenedores

Docker permite gestionar contenedores de diversas maneras: Ver contenedores en ejecución: docker ps Detener un contenedor: docker stop <id del contenedor> Eliminar un contenedor: docker rm <id del contenedor> Eliminar una imagen: docker rmi <nombre de la imagen>

5. Red y Volúmenes Docker permite la creación de redes personalizadas entre contenedores y la gestión de volúmenes para almacenar datos persistentes. Redes: Permiten que los contenedores se comuniquen entre sí o con el exterior. Volúmenes: Son utilizados para almacenar datos de manera persistente fuera del contenedor, lo que significa que los datos no se pierden cuando el contenedor se elimina o reinicia. Ejemplo Básico de Docker

1. Dockerfile Un ejemplo simple de un Dockerfile para una aplicación web con Node.js podría ser el siguiente:

# Usar una imagen base oficial de Node.js

FROM node:14

# Crear y definir el directorio de trabajo

WORKDIR /app

# Copiar los archivos de la aplicación al contenedor

COPY . .

# Instalar las dependencias de la aplicación

RUN npm install

# Exponer el puerto 3000

EXPOSE 3000

# Comando para ejecutar la aplicación

CMD ["npm", "start"]