Barcelona (34) 93 263 33 54 | Madrid (34) 91 329 55 00 | Norte (34) 94 623 26 48

Desarrollo de aplicaciones en Docker en módulos ARM de DIGI

El objetivo de este documento es describir paso a paso como configurar el host para trabajar con el DEY (Digi Embedded Yocto) en un contenedor Docker. Para ello hemos utilizado como ejemplo una ConnectCore 8M Nano de Digi en la que hemos creado un contenedor de Docker con todo lo necesario para compilar imágenes de sistema en windows 10.

Docker es una plataforma abierta que permite desarrollar, distribuir y correr aplicaciones de manera aislada e independiente de nuestro sistema operativo. Esto nos permite gran flexibilidad y ahorro de tiempo en el desarrollo de soluciones embedded.

Logo de Docker

Ventajas y beneficios del uso de Docker

Digi suministra una máquina virtual basada en Ubuntu con todo lo necesario para el desarrollo de aplicaciones para la ConnectCore 8M Nano. En esta máquina también pueden compilarse las imágenes de sistema personalizadas para el módulo. Se trata de una solución conveniente si vamos a trabajar a escala local.

ConnectCore 8M Nano de Digi

En cambio, si creamos un contenedor, podremos trabajar en diferentes máquinas. Esto se debe a que un contenedor de Docker encapsula nuestra aplicación y todas las dependencias necesarias para hacerla funcionar. De esto podemos inferir otra ventaja: Nos quitamos de encima todo lo que no necesitamos del sistema operativo en el que se desarrolló la aplicación, con el consiguiente ahorro en espacio al prescindir de las máquinas virtuales completas.

También es muy sencillo crear y borrar contenedores, así como descargarlos desde los repositorios que nos facilitan los fabricantes y mantenerlos actualizados. Esto nos abre las puertas para tener múltiples entornos de testing con la seguridad de que los contenedores funcionarán de la misma manera en las diferentes máquinas que usemos.

 

Instalación de Docker

  • Primero tendremos que asegurarnos de que tenemos instalado Windows Subsistem for Linux 2 (WSL 2). Para ello abrimos una terminal PowerShell y usamos el siguiente comando:

wsl –install

Inicio desde Windows PowerShell

  • Después descargamos Docker Desktop desde la siguiente dirección:

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

Instalación de Docker

  • Una vez que tenemos estas dos cosas pasamos a descargar el contenedor de Digi. Para ello usamos los siguientes comandos en una terminal PowerShell:

docker pull digidotcom/dey:dey-3.2-r2
mkdir C:\workspace
fsutil.exe file setCaseSensitiveInfo C:\workspace
docker run -it –name dey-3.2-container –volume
C:\workspace:/home/dey/workspace digidotcom/dey:dey-3.2-r2

+————————————————————————————+
Welcome to Digi Embedded Yocto Docker container

  This Docker image is a ready to use system based on Digi Embedded Yocto (DEY) to
  build custom images for the Digi platforms. DEY is an open source and freely
  available Yocto Project (TM) based embedded Linux distribution.
+————————————————————————————+

Do you wish to create a new platform project [Y/N]?

  • Pulsamos Y para confirmar. El contenedor debería arrancar de manera automática después de la configuración inicial.
  • Para lanzar de manera manual el contenedor usaremos el siguiente comando:

docker start –attach ‘dey-3.2-container’

  • Para listar los diferentes contenedores instalados podemos usar:

docker ps –all

  • Una vez dentro del contenedor vemos que Digi Embedded Yocto está instalado en /usr/local/dey-3.2. La versión instalada es la mas reciente disponible en el momento de la creación del contenedor.
  • Para poder actualizar introducir los siguientes comandos:

cd /usr/local/dey-3.2/

repo init -b gatesgarth

repo sync -j 4

Con esto tendremos el contenedor de Docker con todo lo necesario para trabajar con la ConnectCore 8M Nano y la versión más reciente de DEY (Digi Embedded Yocto).

Más información sobre productos DIGI

En nuestra web puedes encontrar diversas notas de aplicación dedicadas a la programación de sistemas embedded como por ejemplo el artículo dedicado a cómo iniciar un proyecto YOCTO con la connectCore 6UL de Digi.

En Venco disponemos de un amplio catálogo donde puedes encontrar productos embedded procedentes de los mejores fabricantes, como Digi, Kontron o F&S. Tenemos línea directa con nuestros partners, que nos proporcionan información detallada y actualizada de todos sus productos. Disponer de esta información nos permite asesorar a nuestros clientes en la mejor elección de producto.

Pregúntanos y te asesoraremos sin copromiso en la mejor solución para tu proyecto.

Vías de contacto: