Inicio rápido: Implementación de una instancia de contenedor en Azure mediante la CLI de Docker

Use Azure Container Instances para ejecutar contenedores de Docker sin servidor en Azure con sencillez y velocidad. Implemente en una instancia de contenedor a petición cuando desarrolle aplicaciones nativas en la nube y quiera cambiar sin problemas entre el desarrollo local y la implementación en la nube.

En esta guía de inicio rápido se usan los comandos nativos de la CLI de Docker para implementar un contenedor de Docker y hacer que la aplicación esté disponible en Azure Container Instances. La integración entre Docker y Azure habilita esta capacidad. Unos pocos segundos después de ejecutar un comando docker run, puede ir a la aplicación que se ejecuta en el contenedor:

Aplicación implementada mediante Azure Container Instances vista en el explorador

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Para esta guía de inicio rápido, necesita Docker Desktop versión 2.3.0.5 o posterior, disponible para Windows o macOS. O bien, instale la CLI de integración de Docker ACI para Linux.

Importante

No se admiten todas las características de Azure Container Instances. Proporcione comentarios sobre la integración entre Docker y Azure mediante la creación de una incidencia en el repositorio de GitHub aci-integration-beta.

Creación de un contexto de Azure

Para usar los comandos de Docker para ejecutar contenedores en Azure Container Instances, primero inicie sesión en Azure:

docker login azure

Cuando se le solicite, escriba o seleccione sus credenciales de Azure.

Cree un contexto ACI; para ello, ejecute docker context create aci. Este contexto asocia Docker con una suscripción de Azure y un grupo de recursos para que pueda crear y administrar las instancias de contenedor. Por ejemplo, para crear un contexto llamado myacicontext:

docker context create aci myacicontext

Cuando se le solicite, seleccione el id. de suscripción de Azure y después seleccione un grupo de recursos existente o cree un nuevo grupo de recursos. Si elige un nuevo grupo de recursos, se creará con un nombre generado por el sistema. Las instancias de contenedores de Azure, al igual que otros recursos de Azure, se deben implementar en un grupo de recursos. Los grupos de recursos le permiten organizar y administrar los recursos relacionados de Azure.

Ejecute docker context ls para confirmar que agregó el contexto de ACI a los contextos de Docker:

docker context ls

Crear un contenedor

Después de crear un contexto de Docker, puede crear un contenedor en Azure. En este inicio rápido, usará la imagen mcr.microsoft.com/azuredocs/aci-helloworld pública. Esta imagen empaqueta una pequeña aplicación web escrita en Node.js que sirve una página HTML estática.

En primer lugar, cambie al contexto de ACI. Todos los comandos de Docker subsiguientes se ejecutarán en este contexto.

docker context use myacicontext

Ejecute el siguiente comando docker run para crear la instancia de Azure Container Instances con el puerto 80 expuesto a Internet:

docker run -p 80:80 mcr.microsoft.com/azuredocs/aci-helloworld

Salida de ejemplo para una implementación correcta:

[+] Running 2/2
 ⠿ hungry-kirch            Created                                                                               5.1s
 ⠿ single--container--aci  Done                                                                                 11.3s
hungry-kirch

Ejecute docker ps para obtener detalles sobre el contenedor en ejecución, incluida la dirección IP pública:

docker ps

La salida de ejemplo muestra una dirección IP pública, en este caso 52.230.225.232:

CONTAINER ID        IMAGE                                        COMMAND             STATUS              PORTS
hungry-kirch        mcr.microsoft.com/azuredocs/aci-helloworld                       Running             52.230.225.232:80->80/tcp

Ahora, vaya a la dirección IP en el explorador. Si ve una página web parecida a la siguiente, enhorabuena. Ha implementado correctamente una aplicación que se ejecuta en un contenedor de Docker en Azure.

Aplicación implementada mediante Azure Container Instances vista en el explorador

Extracción de los registros del contenedor

Cuando necesite solucionar problemas de un contenedor o de la aplicación que este ejecuta (o simplemente ver la salida), empiece por ver los registros de la instancia de contenedor.

Por ejemplo, ejecute el comando docker logs para ver los registros del contenedor hungry-kirch en el contexto de ACI:

docker logs hungry-kirch

En la salida se muestran los registros del contenedor y se mostrarán las solicitudes HTTP GET generadas al ver la aplicación en el explorador.

listening on port 80
::ffff:10.240.255.55 - - [07/Jul/2020:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

Limpieza de recursos

Cuando haya terminado con el contenedor, ejecute docker rm para eliminarlo. Este comando detiene y elimina la instancia de Azure Container Instances.

docker rm hungry-kirch

Pasos siguientes

En esta guía de inicio rápido, ha creado una instancia de contenedor de Azure a partir de una imagen pública al integrar Docker y Azure. Obtenga más información sobre los escenarios de integración en la documentación de Docker.

También puede usar la extensión de Docker para Visual Studio Code para obtener una experiencia integrada para desarrollar, ejecutar y administrar contenedores, imágenes y contextos.

Si quiere usar las herramientas de Azure para crear y administrar instancias de contenedor, consulte otras guías de inicio rápido para hacerlo mediante la CLI de Azure, Azure PowerShell, Azure Portal y una plantilla de Azure Resource Manager.

Si quiere usar Docker Compose para definir y ejecutar una aplicación de varios contenedores de forma local y, a continuación, cambiar a Azure Container Instances, continúe con el tutorial.