Primeros pasos con Docker para Windows

Uno de los muchos temas tecnológicos a los que llego tarde es Docker. Pero ha llegado un punto en el que no puedo retrasarlo más y he de ponerme con ello por que he de tener, como mínimo, unos conocimientos base. Así que aprovechando la situación, voy a ir haciendo una serie de entradas en el blog con lo que vaya aprendiendo. Como sabrás ya si has leído algo más del blog (y si no te lo digo ahora), yo soy muy de Windows, por lo que me voy a centrar en Docker para Windows y mas adelante con Azure. ¡Vamos pues!

Imagen relacionada

Docker es una tecnología que nos permite crear contenedores ligeros y auto-suficientes, en los que virtualizaremos servicios, en vez de maquinas enteras. Esto tiene muchas ventajas a la hora de desarrollar y desplegar servicios en distintos entornos.

https://es.wikipedia.org/wiki/Docker_(software)

¿que quiere decir esto? Pues que por ejemplo, un desarrollador puede virtualizar en su equipo local una versión concreta de, por decir algo, mysql, sin tener que instalarlo y además, todos los componentes del equipo, podrán facilmente virtualizalo también, asegurando que todos tienen la misma versión. Tampoco «ensuciamos» el equipo instalando las mil cosas que necesitamos para desarrollar, y podemos tener varias versiones de un mismo producto totalmente aisladas.

Para empezar, hay que activar la característica de Windows 10 para contenedores:

Lo siguiente es instalar Docker for Windows desde su página oficial (requiere registro)

https://hub.docker.com/editions/community/docker-ce-desktop-windows

Aunque intentaré trabajar algunas cosas con linea de comandos, yo soy siempre muy fan de las interfaces gráficas, por lo que el siguiente paso será instalar Kitematic. Para ello en la barra de tareas de Windows, te aparecerá el icono de Docker for Windows, sólo tienes que hacer clic derecho sobre el icono y seleccionar Kitematic:

Si no lo tienes instalado te aparecerá la opción para descargarlo.

Una vez descargado, descomprime el fichero dentro de la carpeta «Program Files\Docker\Kitematic» y la próxima vez que selecciones la opción se abrirá el entorno gráfico. Desde aquí podremos administrar las imágenes instaladas y buscar otras en el repositorio de Docker.

Ahora ya estamos preparados para empezar a hacer los primeros pasos con Docker.

Abre una consola y escribe «Docker», este es el comando para trabajar con Docker. Si esta todo correcto, aparecerá el listado de opciones y comandos:

Vamos a hacer las primeras pruebas:

Hacer un listado de todas las imágenes que tenemos:

docker images

Ahora no aparece ninguna, ¡lo acabamos de instalar!

Hagamos un «hola mundo». Para ello descargaremos un contenedor del repositorio de Docker que hace precisamente un hola mundo.

docker run hello-world

Intenta arrancar un contenedor llamado hello-world, pero como no lo encuentra (aún no lo tenemos) lo va a buscar al repositorio.

Nos dice que no podemos acceder al repositorio por que no estamos autorizados, si nos pasa esto, tenemos que hacer login.

docker login

Nos pide el usuario y contraseña y auntentica.

Ahora volvemos a hacer docker run hello-world y se descargará la imagen y creará el contenedor a partir de esta.

Ahora, desde Kitematic podemos ver el contenedor y administrarlo, cambiar configuraciones, etc…

Cada vez que hacemos docker run se crea una nuevo contenedor a partir de la imagen. Para lanzar un contenedor que ya este creado, tenemos que indicar hacer un «start» y no un run.

Para ello, podemos ver el nombre del contenedor en Kinematic


O podemos lanzar un listado desde la consola de comandos:

docker ps -a

Con el parámetro -a hacemos que muestre también los que no están en ejecución

Ahora que conocemos el nombre, podemos iniciar un contenedor:

docker start nombre_contenedor

También se puede iniciar con el id, pero es un poco menos amigable…

Con esto ya se puede empezar a jugar un poco, iré publicando más entradas al respecto.

¡Nos leemos!

Gracias por leerme. Últimamente le estoy dedicando mucho tiempo a generar contenido para Youtube y Twich. Te invito a que te pases por los canales y me sigas 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *