Introducción a los Contenedores
Antes de adentrarnos en los aspectos técnicos, es esencial comprender qué son los contenedores y la orquestación. Los contenedores son unidades de software que contienen todo lo necesario para ejecutar una aplicación, incluyendo el código, las herramientas del sistema, las bibliotecas y las configuraciones.
Paso 1: Instalación de Docker en Linux
(Las siguientes instrucciones se han probado en un Linux Mint 21.2 Victoria)
Docker es una plataforma de software que permite la creación y administración de contenedores. Para instalar Docker en Linux:
- Actualiza tu sistema con
sudo apt update
y luegosudo apt upgrade
. - Instala Docker utilizando
sudo apt install docker.io
. - Habilita y arranca el servicio de Docker con:
sudo systemctl start docker
ysudo systemctl enable docker
. - Verifica la instalación con :
sudo docker --version
. - Otra forma de probar que funciona todo bien es : sudo docker run hello-world
Paso 2: Crear tu Primer Contenedor Docker
- Descarga una imagen de contenedor. Por ejemplo, para descargar una imagen de Ubuntu, utiliza
sudo docker pull ubuntu
. - Ejecuta un contenedor utilizando esta imagen con :
sudo docker run -it ubuntu
. Esto te dará acceso al shell del contenedor de Ubuntu. - Ahora puedes comprobar y moverte por el contenedor y ver que es como estar en un servidor ubuntu
Paso 3: Gestión Básica de Contenedores
- Lista los contenedores activos con
sudo docker ps
y los inactivos consudo docker ps -a
. - Detén un contenedor con
sudo docker stop [CONTAINER_ID]
. - Elimina un contenedor con
sudo docker rm [CONTAINER_ID]
.
Ejemplo: Uso de un Contenedor Python para Pruebas
Aquí tienes un ejemplo práctico de cómo usar un contenedor de Python desde Docker Hub para realizar pruebas en un entorno Dockerizado:
Objetivo: Ejecutar un script de Python simple en un contenedor Docker para probar su funcionamiento.
Paso 1: Obtener una Imagen de Python desde Docker Hub
Primero, necesitas obtener una imagen oficial de Python de Docker Hub. Esto se puede hacer con el siguiente comando:
sudo docker pull python:3.8
Este comando descarga la imagen de Python versión 3.8 en tu máquina local.
Paso 2: Crear un Directorio de Trabajo
Crea un directorio en tu máquina local donde guardarás tu script de Python. Por ejemplo:
mkdir python-test
cd python-test
Paso 3: Escribir un Script de Python
Dentro del directorio python-test
, crea un archivo de script de Python. Por ejemplo, puedes crear un archivo test.py
con el siguiente contenido:
# test.py
print("Hola desde un contenedor de Python!")
Paso 4: Ejecutar el Contenedor con el Script Montado
Ahora, ejecuta el contenedor de Python, montando tu directorio local (que contiene el script de Python) en el contenedor. Usa el siguiente comando:
sudo docker run -it --rm --name python-test-container -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp python:3.8 python test.py
Explicación del comando:
docker run
inicia un nuevo contenedor.-it
permite la interacción con el contenedor.--rm
elimina el contenedor después de ejecutar el script.--name python-test-container
asigna un nombre al contenedor.-v "$(pwd)":/usr/src/myapp
monta el directorio actual en el contenedor en la ruta/usr/src/myapp
.-w /usr/src/myapp
establece el directorio de trabajo en el contenedor.python:3.8
especifica la imagen a utilizar.python test.py
es el comando ejecutado en el contenedor, que arranca tu script de Python.
Resultado:
Después de ejecutar el comando, verás la salida de tu script en la terminal, algo como:
Hola desde un contenedor de Python!
~/python-test$ sudo docker run -it --rm --name pythin-test-container -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp python:3.8 python test.py
Hola desde un contenedor de Python!
Este ejemplo muestra cómo puedes utilizar de manera rápida y sencilla un contenedor de Docker para probar scripts de Python, asegurándote de que tu código se ejecuta en un entorno limpio y controlado.
Conclusión
Este tutorial ofrece una introducción básica a los contenedores, utilizando Docker. A medida que te familiarices con este concepto y herramienta, podrás explorar características más avanzadas y personalizadas para tus necesidades específicas en el ámbito de DevOps y la computación en la nube.
[…] Un minitutorial para usar Docker en Linux. […]