Docker for Windows: La alternativa superior a WSL2 para desarrollo

Docker for Windows

Aunque WSL2 ofrece el subsistema Linux para Windows, funciona como una terminal independiente, similar a la línea de comandos de Windows:

Cuando estás desarrollando aplicaciones sin un segundo monitor, resulta bastante incómodo. Por eso, después de habilitar WSL2, te recomiendo instalar Docker for Windows. Así podrás realizar todas las operaciones directamente desde tu IDE, sin necesidad de cambiar entre pentallas.

Una vez instalado Docker for Windows, puedes utilizar los comandos de Docker directamente en la terminal de Windows, sin necesidad de ejecutar WSL2 primero y luego Docker encima:

Al poder ejecutar comandos de Docker en la terminal, equivale a tener la capacidad de ejecutar cualquier instrucción como si estuvieras en un sistema Linux.

Muchos editores incluyen terminal integrada: VSCode, IDEA, Eclipse, etc. Por ejemplo, con IDEA, cuando puedes ejecutar Docker en la terminal, un solo IDE te permite完成 desarrollo y despliegue:

Instalación de Docker for Windows

La instalación de Docker for Windows es similar a cualquier otro software, pero con un requisito importante: tu equipo debe tener la virtualización habilitada. Antes de que Windows introdujera WSL2, quizás necesitabas VBox o Hyper-V (en Windows Pro), pero con WSL2 ya no es necesario instalar máquinas virtuales.

Docker requiere soporte de virtualización. Sin instalar máquinas virtuales adicionales, WSL2 ofrece dos opciones:

  1. WSL2: Habilitar el subsistema Linux de Windows
  2. Hyper-V: Máquina virtual incluida en Windows Pro

Otro aspecto fundamental es que la versión de Windows 10 debe ser superior a build 19041+.

Tomando WSL2 como ejemplo, el proceso de instalación de Docker for Windows comienza activando el subsistema Linux para Windows y la plataforma de virtualización en "Programas y características" de Windows:

Después descarga el software de Docker for Windows desde:

https://www.docker.com/products/docker-desktop

Durante la instalación, marca la opción para instalar los componentes necesarios para WSL2:

La ubicación predeterminada de Docker for Windows es:

C:\Program Files\Docker

Tras una instalación exitosa, verás una interfaz como esta:

Ejecutar contenedores Docker

Una vez instalado Docker for Windows, aparecerá un icono de "ballena con contenedores" en la bandeja del sistema. Desde allí puede acceder a la interfaz de gestión de Docker.

Puedes ejecutar el programa Hello World de Docker para verificar que la instalación fue exitosa:

docker run -d -p 80:80 docker/getting-started

Después de una ejecución exitosa, en la interfaz de gestión verás:

Abre tu navegador y visita http://localhost para acceder al tutorial para principiantes:

Conectar IDEA con Docker for Windows

Para que IDEA pueda conectar con el proceso de Docker, necesitas abrir el puerto 2375 y habilitar el acceso remoto. En la configuración, marca:

Expose daemon on tcp://localhost:2375 without TLS

Instala el plugin de Docker en IDEA:

Después crea una conexión Docker:

Así podrás gestionar contenedores e imágenes de Docker directamente desde IDEA:

Desarrollo y publicación con Docker + IDEA

Usaré como ejemplo un programa Hello World de Vert.x, utilizando jib-maven-plugin para construir la imagen local. Puedes descargar el proyecto de Vert.x desde:

https://start.vertx.io/

Una vez descargado, añade la función main en MainVerticle:

  public static void main(String[] args) {
    Vertx vertx = Vertx.vertx();
    vertx.deployVerticle(new MainVerticle());
  }

Configura el plugin jib-maven-plugin:

<plugin>
  <groupId>com.google.cloud.tools</groupId>
  <artifactId>jib-maven-plugin</artifactId>
  <version>3.2.0</version>
  <configuration>
    <from>
      <image>java:openjdk-8-jdk-alpine</image>
    </from>
    <to>
      <image>${project.groupId}-${project.artifactId}:${project.version}</image>
    </to>
    <container>
      <mainClass>${main.verticle}</mainClass>
    </container>
  </configuration>
</plugin>

Construye la imagen local:

mvn compile jib:dockerBuild

Después de构建, verás una nueva imagen en Docker:

Haz clic derecho sobre la imagen y crea el contenedor correspondiente con esta configuración:

Luego presiona "run" y el programa comenzará a ejecutarse. Puedes usar Attached Console para ver los logs de la apliacción:

Accede a http://localhost:8888 para probar el programa:

Etiquetas: Docker Windows wsl2 idea java

Publicado el 7-2 03:30