Saltar al contenido

Empezando a trabajar con Docker

Es verdad, todo va demasiado rápido, tanto, que a veces cuesta seguir las novedades en el mundo de la computación en la nube. A modo de brújula, hoy voy a tratar uno de esos nuevos conceptos, concretamente de Docker.

¿Qué es Docker?

docker2Se trata de una plataforma abierta, destinada a la construcción, el transporte y la ejecución de aplicaciones distribuidas. Quizás éste definición deje a muchos con la misma pregunta sin resolver. Definiendo aún más podríamos decir que se refiere a todo aquello que facilita la creación, implementación y ejecución de aplicaciones mediante el uso de contenedores. Dichos contenedores permiten a un desarrollador empaquetar un aplicación con todas las partes que necesita, es decir, bibliotecas y dependencias, y usarlo todo como si fuera un sólo paquete. Simplificando aún más, si conocemos un poco el mundo de las máquinas virtuales, los contenedores funcionan de manera parecida, la diferencia es que utilizan el mismo núcleo o kernel del sistema operativo huésped. De ésta manera se garantiza el buen rendimiento y buen uso de recursos por parte de la aplicación. Si queréis ampliar información al respecto podéis visitar la web oficial de Docker o el artículo que escribí en su día en la web ochobitshacenunbyte

¿Cómo implemento Docker?

Docker se puede implementar en sistemas operativos tipo GNU Linux, Microsoft Windows o Mac OS X. En nuestro caso, ya que nos gusta el software libre, utilizaremos el primero. Necesitamos para ellos un sistema operativo anfitrión, en nuestro caso un sistema Ubuntu Server, en su última versión, que a fecha de hoy es la 14.04 LTS

La versión que vamos a utilizar de Ubuntu ya viene con Docker en su versión 0.9, como no sabemos si hay una más reciente, nos descargamos la última versión, utilizaremos el comando wget para poder descargarla, si no lo tenemos lo debemos de instalar previamente.

Docker3

Una vez finalizada la instalación, se nos sugiere que añadamos nuestro usuario dentro del grupo ‘docker’, para así no tener que usar el usuario ‘root’, de la siguiente manera:

sudodocker

Para que el cambio sea efectivo debemos desconectar nuestro usuario y volver a conectarlo.

En mi caso, una vez instalado, podemos comprobar la versión instalada con:

dockerversin

La versión instalada, a fecha de éste artículo, es la 1.7.1

Verificamos que Docker funciona correctamente, utilizamos la imagen de bienvenida recomendada, llamada hello-world

dockerrun

Si nos muestra un mensaje similar al siguiente es que todo ha salido bien:

docker7docker88

TDockeral y cómo hemos podido ver, hemos cargado la imagen de Docker en un contenedor, llamada “hello-world”

En éste caso la imagen que hemos cargado es muy simple, pero recordemos que en un contenedor podemos cargar cosas complejas como bases de datos o aplicaciones como ERP o servidores Web.

¿Dónde puede encontrar más imágenes?

En DockerHub podemos encontrar muchas imágenes creadas por la comunidad o por organizaciones como RedHat, IBM o Google.

docker

Vamos a utilizar una imagen con el motor de base de datos MYSQL

Al acceder vamos a ver una serie de instrucciones para poder instalar dicha imagen en nuestro sistema.

Seguiremos las instrucciones y ejecutamos la siguiente orden:

docker10

En MYSQL_ROOT_PASSWORD, indicaremos la contraseña que más nos interese, y en “mysql:tag” en la parte de “tag” añadiremos la versión, que en mi caso será la 5.5

Este proceso puede tardar un rato, depende de nuestra conexión a Internet.

Al cargar la imagen accederemos dentro del contenedor. Si escribimos:

docker11

Accederemos a la consola mysql.  Para salir de la consola y del contenedor, en ambos casos con la orden ‘exit’

Desde nuestro servidor podemos ver la lista de las imágenes descargadas, estén o no iniciadas:

docker12

 En el caso anterior también podríamos usar:

docker14

Si queremos ver sólo los contenedores iniciados sería:

docker15

Para iniciar un container:

docker16

Para pararlo:

nomreconctaireDOCKER

Con Docker podremos tener tantos contenedores como nuestro servidor pueda soportar y nuestra imaginación alcanzar ; )

Con esto daremos el artículo por finalizado. Hemos podido ver en que consiste Docker y los primeros pasos básicos de su funcionamiento, utilizando imágenes de contenedores descargados de la nube.  Os invito a profundizar en su funcionamiento y en su larga lista de posibilidades.

Si queréis comenzar a probar los contenedores con Docker, podéis seguir las instrucciones desde su web oficial

Preguntas frecuentes

¿Qué es Docker y para qué sirve?
Docker es una plataforma de código abierto que permite a los desarrolladores automatizar el despliegue de aplicaciones dentro de contenedores de software, proporcionando un entorno consistente y predecible para la ejecución de aplicaciones. Esto facilita el desarrollo, prueba y despliegue de software, asegurando que las aplicaciones funcionen de la misma manera en cualquier entorno.
¿Cómo puedo comenzar a aprender Docker en IEBS Business School?
En IEBS Business School, ofrecemos cursos y programas especializados que te guiarán desde los conceptos básicos hasta el uso avanzado de Docker. Aprenderás a crear y gestionar contenedores, a utilizar Docker Compose para orquestar múltiples contenedores y a integrar Docker en tu flujo de trabajo de desarrollo.
¿Cuáles son los beneficios de usar Docker en el desarrollo de software?
Docker ofrece varios beneficios, como la consistencia en los entornos de desarrollo y producción, la eficiencia en el uso de recursos, la facilidad para compartir y desplegar aplicaciones, y la mejora en la colaboración entre equipos de desarrollo y operaciones. Todo esto contribuye a acelerar el ciclo de desarrollo y a mejorar la calidad del software.
¿Qué recursos adicionales ofrece IEBS para aprender sobre Docker?
Además de los cursos, IEBS Business School proporciona acceso a una variedad de recursos como webinars, artículos, guías prácticas y foros de discusión donde puedes interactuar con expertos y otros estudiantes. Estos recursos te ayudarán a profundizar en el conocimiento de Docker y su aplicación en proyectos reales.
¿Es necesario tener experiencia previa en programación para aprender Docker?
No es estrictamente necesario tener experiencia previa en programación para comenzar a aprender Docker, pero tener conocimientos básicos sobre sistemas operativos y redes puede ser beneficioso. En IEBS Business School, nuestros programas están diseñados para adaptarse a diferentes niveles de experiencia, proporcionando un aprendizaje progresivo y comprensible para todos los estudiantes.
ComentarCompartir ↗

Deja una respuesta