¡Por fin! Embarcadero ha publicado algunas imágenes de Docker Linux para ejecutar aplicaciones Delphi. Otra buena noticia es que podrás depurar aplicaciones Linux que se ejecuten en un contenedor.

Desde RadStudio 10.2 es posible crear aplicaciones Linux en Delphi. Hace dos años escribí sobre cómo ejecutar esas aplicaciones dentro de contenedores de Docker con una imagen creada por mí. Ahora, con las imágenes oficiales, es mucho más fácil.

Paso a paso

Necesitarás Docker para Windows o un servidor docker en algún sitio donde conectarte. En este tutorial, asumo que usarás Docker para Windows, ya que es la configuración de desarrollo típica.

Arranca powershell y ejecuta:

> docker pull radstudio/paserver
> docker run -it -e PA_SERVER_PASSWORD=pass -p 64211:64211 -p 8082:8082 radstudio/paserver

Ahora ya tienes PAServer ejecutándose en un contenedor Linux. La contraseña es «pass», y el puerto al que conectarse es 64211.

El siguiente paso es conectar el IDE de RadStudio al contenedor.

Crea una nueva aplicación de consola y agregua Linux 64 como plataforma. Haz clic con el botón derecho en la Linux 64 y selecciona «Properties…»:

En el combo SDK, seleccione «Add new…»:

Agregar nuevo SDK

En «Select a profile to connect», elige «Agregar nuevo…»:

Dale un nombre descriptivo como «paserver4docker»:

Crear perfil de conexión

Rellena el «Remote machine» con la dirección IP del contenedor. Si usas Docker para Windows, usa «localhost» ya que el puerto 64211 ya está mapeado al contenedor. La contraseña para este ejemplo es «pass»:

Perfil de conexión

Haz clic en «Probar conexión» y «Finalizar». Se descargará un montón de archivos SDK, y ya casi estamos:

Propiedades de la plataforma

Haz clic en Aceptar y ejecuta el proyecto. En este ejemplo, he hecho una sencilla aplicación de consola «Hello from Docker!».

Hola mundo desde el contenedor Docker

Otra característica interesante es depurar el código que se ejecuta en un contenedor. Sólo tienes que poner un breakpoint y ejecutar el programa. Puedes realizar las acciones de depuración habituales como ejecutar paso a paso, inspeccionar variables, establecer puntos de interrupción, …

Sesión de depuración con Docker Linux

Una última cosa

Esta es una característica largamente esperada desde el lanzamiento de RadStudio Tokyo. Embarcadero debe mejorar la integración del IDE con Docker para Windows y Linux, como otros IDE populares están haciendo desde hace mucho tiempo.

Si tienes curiosidad, Embarcadero también ha publicado un conjunto de imágenes de Docker con RadServer. Puedes encontrarlas en: https://hub.docker.com/u/radstudio

¡Eso es todo! Deja un comentario si tienes alguna duda o pensamiento que quieras compartir.