A logo showing the text blog.marcnuri.com
English
Inicio»Operaciones»Docker: Instalando docker en Windows

Entradas Recientes

  • Fabric8 Kubernetes Client 7.2.0 está disponible!
  • Conectarse a un servidor MCP con JavaScript y AI SDK
  • Conectarse a un servidor MCP con JavaScript y LangChain.js
  • El Futuro de las Herramientas para Desarrolladores en la era de la IA
  • Conectarse a un servidor Model Context Protocol (MCP) con Java y LangChain4j

Categorías

  • Antiguo
  • Front-end
  • Go
  • Herramientas
  • Industria y negocios
  • Inteligencia Artificial
  • Java
  • JavaScript
  • Operaciones
  • Personal
  • Proyectos personales

Archivos

  • mayo 2025
  • abril 2025
  • marzo 2025
  • febrero 2025
  • enero 2025
  • diciembre 2024
  • noviembre 2024
  • agosto 2024
  • junio 2024
  • mayo 2024
  • abril 2024
  • marzo 2024
  • febrero 2024
  • enero 2024
  • diciembre 2023
  • noviembre 2023
  • octubre 2023
  • septiembre 2023
  • agosto 2023
  • julio 2023
  • junio 2023
  • mayo 2023
  • abril 2023
  • marzo 2023
  • febrero 2023
  • enero 2023
  • diciembre 2022
  • noviembre 2022
  • octubre 2022
  • agosto 2022
  • julio 2022
  • mayo 2022
  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021
  • agosto 2021
  • julio 2021
  • diciembre 2020
  • octubre 2020
  • agosto 2020
  • junio 2020
  • mayo 2020
  • marzo 2020
  • febrero 2020
  • enero 2020
  • noviembre 2019
  • octubre 2019
  • julio 2019
  • diciembre 2018
  • agosto 2018
  • julio 2018
  • junio 2018
  • mayo 2018
  • marzo 2018
  • febrero 2018
  • noviembre 2017
  • octubre 2017
  • agosto 2017
  • julio 2017
  • enero 2017
  • julio 2016
  • enero 2016
  • diciembre 2015
  • noviembre 2015
  • diciembre 2014
  • marzo 2014
  • febrero 2011
  • junio 2008
  • mayo 2008
  • abril 2008
  • enero 2008
  • junio 2007
  • mayo 2007
  • abril 2007
  • marzo 2007

Docker: Instalando docker en Windows

2015-12-23 en Operaciones etiquetado Docker / Docker Machine / Tutorial / Virtual / VirtualBox / Vritualización / Windows / Windows 10 por Marc Nuri | Última actualización: 2021-02-26

Introducción

Docker está revolucionando el mundo del cloud computing y la virtualización. Se trata de un proyecto que automatiza la puesta en marcha de aplicaciones dentro de contenedores de software a través de una capa adicional de abstracción y automatización de la virtualización a nivel de sistema operativo en Linux.

Todo esto permite separar la aplicación de la infraestructura subyacente de aplicaciones y servidores (Sistema operativo, Bases de datos, servidores de aplicaciones...) y centrarse únicamente en su desarrollo y puesta en marcha. De este modo, podemos reproducir exactamente las mismas condiciones en cuanto a arquitectura en el entorno de desarrollo y en el entorno productivo lo que ademas de facilitar el desarrollo y testeo de la aplicación, nos evitará futuros bugs y defectos relacionados con las mismas.

En la siguiente serie de tutoriales mostraremos cómo instalar docker en windows para emplearlo como herramienta de apoyo al desarrollo de aplicaciones, acelarando el ritmo de desarrollo para distintas plataformas y previniendo los posibles problemas al pasar nuestras aplicaciones al entorno de producción.

Arquitectura

Arquitectura de Docker
Arquitectura de Docker

Sin entrar en muchos detalles acerca de imágenes, directorios, contenedores, volúmenes, etc. vamos a tratar de sintetizar un poco como se fundamenta la arquitectura de docker.

En una primera capa encontramos el sistema operativo, aquí es dónde se ejecuta el componente principal de Docker, el demonio o proceso principal (Docker Daemon). El sistema operativo debe de estar basado en el Kernel de Linux 3.10 como mínimo. Es por ello que si vamos a trabajar con Docker desde windows, necesitaremos una máquina virtual dónde ejecutar este sistema operativo, pero eso lo veremos más adelante.

En una siguiente capa encontramos las imágenes. Éstas son plantillas de solo lectura que pueden contener el sistema operativo, el servidor de aplicaciones, etc. Una imagen puede basarse en otra imagen y añadir un componente más, de esta forma, las imágenes se van apilando hasta conseguir los componentes necesarios. Hay un directorio público que contiene infinidad de imágenes, con lo que es posible que alguien ya haya creado una imagen que necesitemos.

Finalmente, en la última capa encontramos el contenedor. Aquí se agrupa todo lo necesario para que pueda ejecutarse la aplicación. Cada contenedor se crea a partir de una imagen. Cada contenedor es un entorno aislado y seguro dónde ejecutar la aplicación, por lo que en general se recomienda ejecutar cada proceso en un contenedor distinto.

Instalando en Windows

Tal como hemos visto, el componente principal de Docker requiere un sistema operativo Linux para poderse ejecutar. Para ello encontramos otro de los componentes principales de Docker, Docker Machine, que permite crear servidores Docker en máquinas virtuales. Con ello, se permite poder tener servidores Docker en una máquina local o en un servidor en la nube (Amazon Web Services, Microsoft Azure, Openstack...)

Para el caso de Windows, Docker Machine creará una máquina virtual empleando Virtual Box.

Docker Toolbox

La instalación en Windows se ha simplificado bastante, ya que Docker nos proporciona el paquete Docker Toolbox que incluye todo lo necesario para crear un servidor Docker, entre otras cosas Virtual Box, Docker-Machine y Docker Engine. Los componentes se pueden instalar de forma opcional, por ejemplo, es posible que ya contemos con una versión actualizada de Virtual Box en nuestro sistema, por lo que no será necesario instalarlo.

El primer paso será por tanto descargar e instalar Docker Toolbox.

Descargar Docker Toolbox para Windows
Descargar Docker Toolbox para Windows
Instalar Docker Toolbox en Windows
Instalar Docker Toolbox en Windows

A partir de aquí seguiremos las instrucciones del wizard para instalar los componentes necesarios.

Docker Machine

Una vez se haya instalado Docker Toolbox, ya dispondremos de docker-machine en nuestro sistema y podremos crear nuestra primera máquina virtual servidor de docker engine.

Docker machine requiere acceso a las herramientas que nos proporciona Git (entre ellas ssh.exe), por lo que si no lo tenemos en el path de windows, deberemos de añadirlo. Para ello, presionamos en el teclado la tecla de windows y pausa para abrir la información del sistema. Desde aquí presionamos sobre el enlace Configuración avanzada del sistema.

Variables de entorno en Windows
Variables de entorno en Windows

En la pestaña avanzado, pinchamos sobre variables de entorno.

Variable de entorno Path
Variable de entorno Path

En las variables del sistema, editamos la variable Path.

Añadir Git a variable PATH
Añadir Git a variable PATH

Añadimos el directorio donde se encuentra git, en nuestro caso "C:\Program Files\Git\bin\".

Ya podemos crear nuestra primera máquina. Para ello ejecutamos el siguiente comando:

1docker-machine create --driver virtualbox dev

En este caso estamos pidiendo crear una máquina empleando el driver de VirtualBox que se llame "dev". Con ello, docker-machine creará automáticamente una máquina linux con docker-engine totalmente configurada y lista para ser usada. Si abrimos el panel de control de VirtualBox podremos comprobarlo.

VirtualBox mostrando máquina Docker
VirtualBox mostrando máquina Docker

En cualquier momento podemos usar el comando:

1docker-machine ls

para listar las máquinas que tenemos en el sistema y su estado.

Listado de Docker Machine
Listado de Docker Machine

La máquina se inicia automáticamente cuando se crea. En cualquier caso, para iniciarla si se encuentra apagada (como en la captura anterior), emplearemos el siguiente comando:

1docker-machine start dev

dónde "dev" es el nombre que le hemos dado a la máquina en el primer paso.

Cada vez que queramos trabajar con esta máquina virtual, deberemos de crear las variables de entorno en la consola. Para ello usamos el siguiente comando:

1FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd dev') DO %i

Para facilitar todas estas tareas es conveniente recoger estos comandos en ficheros bat, que automaticen las tareas. Si queremos incluir la instrucción anterior en un .bat, hay que recordar poner dos signos % en lugar de uno:

1FOR /f "tokens=*" %%i IN ('docker-machine env --shell cmd dev') DO %%i

Finalmente, para apagar la máquina empleamos el siguiente comando:

1docker-machine stop dev

Con todo ello damos por finalizada la instalación. En el siguiente tutorial veremos como crear una imagen desde otra y nuestro primer servicio containerizado.

Sigue leyendo:

    Twitter iconFacebook iconLinkedIn iconPinterest iconEmail icon

    Comentarios en "Docker: Instalando docker en Windows"

    • Avatar for Angel Fraga
      Angel Fraga
      2017-06-27 19:38
      Muy buena explicación , paso a paso y con imágenes de cada proceso. No entiendo porque no hay mas comentarios. Seguiré algunas de tus entradas. Gracias !!
      • Avatar for Marc Nuri
        Marc Nuri
        2017-07-02 13:34
        Muchas gracias Ángel
        Este post está ya un poco desfasado. Intentaré ver si lo actualizo un poco e introduzco alguna alternativa como instalar docker empleando
        por ejemplo, Bash on Ubuntu on Windows (10)
    • Avatar for pepegrillo
      pepegrillo
      2017-07-28 10:47
      Excelente explicación, me ayudó muchísimo, muchas gracias, saludos !!!
    • Avatar for LMPV
      LMPV
      2018-01-10 16:52
      Excelente, muy intructivo y amigable.. Gracias se puede dedicar la magisterio
    • Avatar for LMPV
      LMPV
      2018-01-10 16:56
      Saludos. Dado lo excelente de su explicación me gustaría acceder a alguna información de como hacer los paquetes Docker en Windows.
    • Avatar for Docker: Accediendo al shell (SSH) de docker-machine - Marc Nuri
      Docker: Accediendo al shell (SSH) de docker-machine - Marc Nuri
      2019-10-13 06:29
      […] como hemos visto en anteriores publicaciones, docker puede funcionar en Windows a través de una máquina virtual generalmente sobre Virtual […]

    Navegador de artículos
    Spring Data JPA + EclipseLink: Configurando Spring-Boot para usar EclipseLink como proveedor de JPAMigración de correo electrónico mediante mnIMAPSync
    © 2007 - 2025 Marc Nuri