Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use Azure Container Instances para ejecutar contenedores de Docker sin servidor en Azure con simplicidad y velocidad. Implemente una aplicación en una instancia de contenedor a petición cuando no necesite una plataforma de orquestación de contenedores completa, como Azure Kubernetes Service. En este inicio rápido, usará una plantilla de Azure Resource Manager (plantilla de ARM) para implementar un contenedor de Docker aislado y hacer que su aplicación web esté disponible con una dirección IP pública.
Una plantilla de Azure Resource Manager es un archivo de notación de objetos JavaScript (JSON) que define tanto la infraestructura como la configuración de un proyecto. La plantilla usa sintaxis declarativa. Describes tu implementación deseada sin escribir la secuencia de comandos de programación para crearla.
Si su entorno cumple los requisitos previos y está familiarizado con el uso de plantillas de ARM, seleccione el botón Implementar en Azure. La plantilla se abre en Azure Portal.
Prerrequisitos
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Revisión de la plantilla
La plantilla usada en este inicio rápido forma parte de las plantillas de inicio rápido de Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"languageVersion": "2.0",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.37.4.10188",
"templateHash": "7099805986652764357"
}
},
"parameters": {
"name": {
"type": "string",
"defaultValue": "acilinuxpublicipcontainergroup",
"metadata": {
"description": "Name for the container group"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"image": {
"type": "string",
"defaultValue": "mcr.microsoft.com/azuredocs/aci-helloworld",
"metadata": {
"description": "Container image to deploy. Should be of the form repoName/imagename:tag for images stored in public Docker Hub, or a fully qualified URI for other registries. Images from private registries require additional registry credentials."
}
},
"port": {
"type": "int",
"defaultValue": 80,
"metadata": {
"description": "Port to open on the container and the public IP address."
}
},
"cpuCores": {
"type": "int",
"defaultValue": 1,
"metadata": {
"description": "The number of CPU cores to allocate to the container."
}
},
"memoryInGb": {
"type": "int",
"defaultValue": 2,
"metadata": {
"description": "The amount of memory to allocate to the container in gigabytes."
}
},
"restartPolicy": {
"type": "string",
"defaultValue": "Always",
"allowedValues": [
"Always",
"Never",
"OnFailure"
],
"metadata": {
"description": "The behavior of Azure runtime if container has stopped."
}
},
"zone": {
"type": "string",
"nullable": true,
"metadata": {
"description": "The availability zone to deploy the container group into. If not specified, the container group is nonzonal and might be deployed into any zone."
}
}
},
"resources": {
"containerGroup": {
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2023-05-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"properties": {
"containers": [
{
"name": "[parameters('name')]",
"properties": {
"image": "[parameters('image')]",
"ports": [
{
"port": "[parameters('port')]",
"protocol": "TCP"
}
],
"resources": {
"requests": {
"cpu": "[parameters('cpuCores')]",
"memoryInGB": "[parameters('memoryInGb')]"
}
}
}
}
],
"osType": "Linux",
"restartPolicy": "[parameters('restartPolicy')]",
"ipAddress": {
"type": "Public",
"ports": [
{
"port": "[parameters('port')]",
"protocol": "TCP"
}
]
}
},
"zones": "[if(not(equals(parameters('zone'), null())), createArray(parameters('zone')), null())]"
}
},
"outputs": {
"name": {
"type": "string",
"value": "[parameters('name')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name'))]"
},
"containerIPv4Address": {
"type": "string",
"value": "[reference('containerGroup').ipAddress.ip]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
El siguiente recurso se define en la plantilla:
- Microsoft.ContainerInstance/containerGroups: cree un grupo de contenedores de Azure. Esta plantilla define un grupo que consta de una sola instancia de contenedor.
Puede encontrar más ejemplos de plantillas de Azure Container Instances en la galería de plantillas de inicio rápido.
Para implementar el grupo de contenedores en una zona de disponibilidad específica, establezca el valor del zone parámetro en la zona de disponibilidad lógica en la que desea realizar la implementación.
Importante
Las implementaciones zonales solo están disponibles en regiones que admiten zonas de disponibilidad. Para ver si la región admite zonas de disponibilidad, consulte Lista de regiones de Azure.
Implementación de la plantilla
Seleccione la imagen siguiente para iniciar sesión en Azure y abrir una plantilla. La plantilla crea un registro y una réplica en otra ubicación.
Seleccione o escriba los siguientes valores.
- Suscripción: seleccione una suscripción de Azure.
- Grupo de recursos: seleccione Crear nuevo, escriba un nombre único para el grupo de recursos y, a continuación, seleccione Aceptar.
- Ubicación: seleccione una ubicación para el grupo de recursos. Ejemplo: Centro de EE. UU.
- Nombre: acepte el nombre generado para la instancia o escriba un nombre.
- Imagen: acepte el nombre de imagen predeterminado. Esta imagen de Linux de ejemplo empaqueta una pequeña aplicación web escrita en Node.js que sirve una página HTML estática.
Acepte valores predeterminados para las propiedades restantes.
Revise los términos y condiciones. Si está de acuerdo, seleccione Acepto los términos y condiciones indicados anteriormente.
Una vez que la instancia se haya creado correctamente, recibirá una notificación:
Azure Portal se usa para implementar la plantilla. Además de Azure Portal, puede usar Azure PowerShell, la CLI de Azure y la API REST. Para obtener información sobre otros métodos de implementación, consulte Implementación de plantillas.
Revisión de los recursos implementados
Use Azure Portal o una herramienta como la CLI de Azure para revisar las propiedades de la instancia de contenedor.
En el portal, busque Container Instances y seleccione la instancia de contenedor que creó.
En la página Información general , anote el estado de la instancia y su dirección IP.
Una vez que su estado sea En ejecución, vaya a la dirección IP del explorador.
Visualización de registros de contenedor
La visualización de los registros de una instancia de contenedor resulta útil al solucionar problemas con el contenedor o la aplicación que se ejecuta.
Para ver los registros del contenedor, en Configuración, seleccione Registros de contenedores>. Debería ver la solicitud HTTP GET generada al ver la aplicación en el explorador.
Limpieza de recursos
Cuando haya terminado con el contenedor, en la página Información general de la instancia de contenedor, seleccione Eliminar. Cuando se le solicite, confirme la eliminación.
Pasos siguientes
En este inicio rápido, ha creado una instancia de contenedor de Azure a partir de una imagen pública de Microsoft. Si desea compilar una imagen de contenedor e implementarla desde un registro de contenedor privado de Azure, continúe con el tutorial de Azure Container Instances.
Para ver un tutorial paso a paso que le guía por el proceso de creación de una plantilla, consulte: