Cómo crear un contenedor Docker: compartimentos de imágenes Docker

Ejecutar aplicaciones en diferentes sistemas operativos puede parecer un reto al principio. Sin embargo, un contenedor Docker facilita este proceso.

Con su tecnología de contenedores especializados, los usuarios que utilizan Docker pueden desplegar numerosas aplicaciones o servicios en sistemas como el alojamiento de servidores privados virtuales (VPS) o hardware dedicado sin problema. 

Además, a diferencia de las máquinas virtuales, un contenedor Docker es mucho más ligero, más fácil de desplegar y tiene un tiempo de ejecución mejor.

En este tutorial, te mostraremos cómo crear un contenedor Docker con todas las configuraciones necesarias.

¿Qué es un contenedor Docker?

Docker es una de las herramientas de código abierto basadas en contenedores más populares. Se utiliza para ejecutar instancias de imágenes Docker, ya que éstas crean un nuevo contenedor Docker.

En otras palabras, las imágenes pueden considerarse como una plantilla que puede utilizarse para crear contenedores. Estas contienen información sobre lo que se necesita para desarrollar y ejecutar un contenedor. Otra característica excelente de las imágenes es que se pueden almacenar varias imágenes local o remotamente.

¿Qué es Docker Hub?

Para facilitar el intercambio de imágenes, Docker ha creado una plataforma optimizada para compartir imágenes: Docker Hub. Aquí los usuarios pueden compartir, subir y gestionar fácilmente sus imágenes. Tan solo hay que realizar el registro y elegir el plan del servicio que se adapte a tus necesidades.

Independientemente del sistema operativo que utilices, ya sea Ubuntu en una instancia virtual o Windows, los usuarios podrán seguir encontrando imágenes populares como MySQL o WordPress en Docker Hub.

Los usuarios siempre pueden elegir la versión de pago de Docker Hub si la versión gratuita resulta insuficiente. Esta ofrece funciones más completas, análisis de vulnerabilidades y compilaciones simultáneas.

¿Qué es un Dockerfile?

Las imágenes Docker indican al servidor los requisitos exactos para crear un contenedor Docker. Por otro lado, un archivo Docker es un archivo de texto real que contiene todos los comandos Docker necesarios para montar una imagen de contenedor. 

Si un usuario desea crear una imagen, tendrá que crear un archivo Docker con todos los comandos necesarios para el servidor.

¿Cómo crear un contenedor en Docker?

En este tutorial, utilizaremos el servidor virtual privado Ubuntu 20.04 y supondremos que ya tienes instalado Docker. Por lo tanto, empieza accediendo a tu VPS mediante SSH.

Para listar todas las imágenes Dockers de tu sistema, puedes utilizar el siguiente comando:

sudo docker images

Si quieres mostrar información adicional, introduce el siguiente comando en la línea de órdenes:

sudo docker images --help

No tenemos ninguna imagen Docker en nuestro sistema, así que primero vamos a crear una nueva.

Para ello, en primer lugar, ve al Docker Hub. Aquí encontrarás miles de imágenes base Docker.

En este ejemplo, extraeremos una imagen MySQL. Ten en cuenta que puedes navegar por la página de cada imagen para ver más detalles sobre ella.

Sitio web Docker hub

Puedes extraer la nueva imagen al directorio actual con el comando:

docker pull <nombre de imagen o id de imagen>

Consejo profesional

Es posible sustituir «nombre de imagen o id de imagen» por cientos de imágenes que se encuentran en Docker Hub, como CentOS, redis, mariaDB, Python, etc.

Si utilizas la opción -q, sólo se mostrarán los ID numéricos de las imágenes disponibles en tu sistema:

sudo docker images -q

-f es la bandera de filtro. Si quieres listar todas las imágenes que no están colgadas (etiquetadas o referenciadas por un nuevo contenedor), utiliza la siguiente orden en la línea de comandos:

sudo docker images -f 'dangling=false'

Ahora que sabes cómo extraer y localizar una imagen para iniciar un contenedor Docker, es hora de ejecutarla. Al ejecutar una imagen, crearás un contenedor Docker a partir de esa imagen.

Para iniciar un contenedor Docker, utiliza el comando docker run:

docker run <nombre_de_imagen>

Ejecutaremos la imagen MySQL. Como tal, el comando será:

docker run mysql

Nuestro contenedor está creado pero no iniciado. Para iniciarlo, utiliza este comando a través del símbolo del sistema:

docker run --name MiContenedor -it mysql bash

Aquí -name MiContenedor es cómo queremos llamar al proceso en ejecución, mientras que -it mysql bash nombra qué contenedor estamos ejecutando.

Ahora, abre otra ventana de terminal. Accede mediante SSH al servidor y ejecuta el comando Docker ps:

sudo docker ps -a

Como puedes ver, el contenedor llamado MiContenedor se está ejecutando ahora. Para detener el contenedor, ejecuta el siguiente comando:

sudo docker stop MiContenedor

Si quieres ver el proceso superior de un contenedor, podemos ejecutar este comando:

docker top MiContenedor

MiContenedor representa el nombre de tu contenedor.

Ejemplo de Contenedor Docker

Para ver estadísticas adicionales, como el ID del contenedor, la utilización de la CPU o el uso de la memoria, utiliza este comando:

docker stats
Ejemplo de Contenedor Docker

Por último, si necesitas terminar un contenedor Docker, utiliza lo siguiente:

sudo docker kill MiContenedor

Eso es todo: nuestro contenedor Docker ya está listo para ser utilizado.

Cómo iniciar y parar un contenedor Docker de imagen

Si ya tienes contenedores Docker creados, puedes iniciarlos fácilmente utilizando el siguiente comando:

docker start <nombre del contenedor>

Confirma si se está ejecutando abriendo una nueva sesión SSH y ejecutando el siguiente comando:

docker top MiContenedor

Con el contenedor en marcha, puedes detenerlo con el siguiente comando:

docker stop <nombre del contenedor>

Si quieres terminar todos los contenedores al mismo tiempo, utiliza lo siguiente:

docker kill $(docker ps -q)

Conclusión

Docker es una herramienta práctica para todo tipo de desarrolladores. Su capacidad para probar, desplegar y desarrollar aplicaciones sin problemas puede acelerar exponencialmente el flujo de trabajo.

En este tutorial, hemos recorrido el proceso de creación de un contenedor Docker en un servidor virtual privado que ejecuta Ubuntu 20.04. También hemos cubierto cómo usar Docker y gestionar contenedores Docker ya generados.

Esperamos que este tutorial te haya resultado útil. Si tienes más preguntas o sugerencias, déjalas en los comentarios a continuación.

Contenedor Docker –  Preguntas frecuentes

Aquí tienes algunas preguntas frecuentes sobre la creación de contenedores Docker.

¿Qué es un contenedor Docker vs imágenes Docker?

Las imágenes de Docker otorgan a un servidor un conjunto de instrucciones y requisitos sobre cómo debe generarse un contenedor Docker. Por otro lado, un contenedor Docker es un paquete de software que incluye todo lo necesario para ejecutar una aplicación. 

En otras palabras, un contenedor Docker es el resultado de los requisitos dados por la imagen Docker. 

¿Puede una imagen Docker tener varios contenedores?

Un único contenedor se construye a partir de una sola imagen. Eso significa que no podrás crear un par de contenedores Docker con una sola imagen. 

Sin embargo, es posible ordenar a Docker que ejecute varias imágenes para que se construyan en secuencia. Cabe mencionar que el resultado seguirá siendo una imagen única.

¿Se pueden editar las imágenes Docker?

Sí, Docker proporciona la funcionalidad de editar o incluso crear tus propias imágenes a través del Dockerfile. Para editar una imagen, primero tienes que borrarla y luego editar el Dockerfile, implementando los cambios que prefieras.

Por último, sólo tendrás que volver a crear el contenedor utilizando el nuevo archivo.

Author
El autor

Deyimar A.

Deyi es una entusiasta del marketing digital, con experiencia en diseño de páginas web, creación de contenido, copywrite y SEO. Forma parte del equipo de SEO & Localization de Hostinger. En su tiempo libre, le gusta desarrollar proyectos, leer un libro o ver una buena película.