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:
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 --tenant-id "[tenant ID]"
Vaya a las propiedades de Microsoft Entra ID para encontrar su id. de inquilino.
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.
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.