Una de las novedades que vendrá como parte de Docker Desktop es la posibilidad de ejecutar los contenedores que creemos a través de este en Azure Container Instances, en lugar de en local. En este artículo te muestro cómo probarlo, para que veas lo fácil que va a ser.
Instalar Docker Desktop Edge
Esta funcionalidad todavía está en fase preliminar, por lo que para que esto funcione debes tener la versión Docker Desktop Edge 2.3.2.

El canal Edge es el que tiene las últimas novedades en las que está trabajando la compañía pero que todavía no se consideran estables.
Crear un contexto en Docker Desktop asociado a ACI
Para poder comunicarnos con Azure, y más en concreto con el servicio Azure Container Instances, lo primero que debes hacer es iniciar sesión a través del siguiente comando:
docker login azureEsto abrirá una ventana del navegador que te pedirá tus credenciales de acceso a la suscripción que quieres utilizar. Una vez introducidas correctamente la consola te devolverá el mensaje: «login succedeed».
Lo siguiente que necesitas hacer es crear el contexto. Este comando te guiará en la configuración del mismo:
docker context create aci aci-context --location northeuropeAl estar en una versión muy preliminar por ahora no te permite personalizar el nombre del grupo de recursos, en el caso de que quieras crearlo a través del asistente. Por otro lado, he indicado la ubicación, en este ejemplo North Europe, ya que de no hacerlo la por defecto sería East US y esto condicionará dónde quedarán desplegados mis futuros contenedores.

Crear un contenedor desde Docker Desktop en ACI
Ahora que ya tienes el contexto creado necesitas decirle a Docker que quieres usarlo:
docker context use aci-contextA partir de este momento todos los comandos que se ejecuten estarán utilizando Azure Container Instances como lugar para alojar los contenedores. Para comprobarlo, crea el siguiente a modo de ejemplo:
docker run --name apache-app -p 80:80 httpdEl proceso será un poco diferente a lo que estamos acostumbrados:

Una vez finalizado, si revisas los contenedores que tienes ejecutándose bajo este contexto verás el llamado apache-app, que apunta a una IP pública en Azure:
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND STATUS PORTS
apache-app httpd Running 51.104.176.211:80->80/tcpPor otro lado, en el grupo de recursos creado a través de Docker Desktop verás que efectivamente tu contenedor está ahí:

Accediendo a la IP pública que ves a través de docker ps verás la web por defecto alojada en tu contenedor de Apache creado desde Docker Desktop en Azure.

Por supuesto, puedes hacer uso de docker logs para comprobar lo que está ocurriendo con tu contenedor en la nube:
➜ ~ docker logs apache-app
[Sun Jun 28 06:48:15.250942 2020] [mpm_event:notice] [pid 1:tid 139815105684608] AH00489: Apache/2.4.43 (Unix) configured -- resuming normal operations
[Sun Jun 28 06:48:15.305315 2020] [core:notice] [pid 1:tid 139815105684608] AH00094: Command line: 'httpd -D FOREGROUND'
10.240.255.56 - - [28/Jun/2020:06:51:43 +0000] "GET /robots.txt HTTP/1.1" 404 196
10.240.255.55 - - [28/Jun/2020:06:51:43 +0000] "GET / HTTP/1.1" 200 45
10.240.255.55 - - [28/Jun/2020:06:51:43 +0000] "GET /favicon.ico HTTP/1.1" 404 196Y para eliminarlo basta con ejecutar el siguiente comando, de la misma forma que haríamos si trabajáramos en local:
docker rm apache-app¡Saludos!
Si quieres seguir aprendiendo sobre contenedores, tienes una lista de vídeos en mi canal de YouTube 👇🏻
Docker CLI: Comandos esenciales que todo developer debe conocer
Domina los Dockerfiles: De lo básico a multi-stage
4 formas de crear un Dockerfile sin empezar desde cero
¿No entiendes las redes en Docker? Mira este vídeo
Cómo NO perder tus datos en Docker: Guía definitiva
Deja de configurar contenedores a mano: Aprende Docker Compose 🐙
Cómo subir tus imágenes a Docker Hub (Guía paso a paso)
Publica y automatiza tus imágenes de Docker con GitHub


¿Qué son los contenedores? Docker desde cero para principiantes
return(GiS); julio 10, 2024 10:00 am