Azure 容器实例没有 IP

问题描述 投票:0回答:3

我在 Azure 中创建了一个容器实例并使用了 Hello World 图像。 但是,我没有获得任何 IP 来访问网络服务器!

Container Instance with no public IP

azure containers instance noip
3个回答
2
投票

TL;博士。您可能希望使用 CLI(或其他方法)来部署 ACI。 请务必设置

--ip_address public
--dns-name-label <blah>
才能创建公共 IP 地址

示例:

az container create --resource-group myResourceGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-demo --ports 80

参考:https://learn.microsoft.com/en-us/azure/container-instances/container-instances-quickstart


调查详情: 通过 Azure 门户部署 ACI 时,我能够重现相同的问题。我的猜测是:Azure 门户存在一个错误,它没有将公共 IP / DNS 标签发送到 Azure 控制平面,因此未创建公共 IP 地址。

在此屏幕截图中,我还提供了 DNS 名称标签并将 IP 地址设置为公共,我们可以检查 ARM 模板门户使用的情况。 Portal ACI Create

ARM模板如下所示,可以看到

dnsNameLabel
被定义为参数,但在资源创建部分没有被引用/应用

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
            "type": "string"
        },
        "containerName": {
            "type": "string"
        },
        "imageType": {
            "type": "string",
            "allowedValues": [
                "Public",
                "Private"
            ]
        },
        "imageName": {
            "type": "string"
        },
        "osType": {
            "type": "string",
            "allowedValues": [
                "Linux",
                "Windows"
            ]
        },
        "numberCpuCores": {
            "type": "string"
        },
        "memory": {
            "type": "string"
        },
        "restartPolicy": {
            "type": "string",
            "allowedValues": [
                "OnFailure",
                "Always",
                "Never"
            ]
        },
        "ports": {
            "type": "array"
        },
        "dnsNameLabel": {
            "type": "string"
        }
    },
    "resources": [
        {
            "location": "[parameters('location')]",
            "name": "[parameters('containerName')]",
            "type": "Microsoft.ContainerInstance/containerGroups",
            "apiVersion": "2021-07-01",
            "properties": {
                "containers": [
                    {
                        "name": "[parameters('containerName')]",
                        "properties": {
                            "image": "[parameters('imageName')]",
                            "resources": {
                                "requests": {
                                    "cpu": "[int(parameters('numberCpuCores'))]",
                                    "memoryInGB": "[float(parameters('memory'))]"
                                }
                            },
                            "ports": "[parameters('ports')]"
                        }
                    }
                ],
                "restartPolicy": "[parameters('restartPolicy')]",
                "osType": "[parameters('osType')]"
            },
            "tags": {}
        }
    ]
}

0
投票

我已经在我的环境中进行了测试。

我遵循了此文档快速入门 - 将 Docker 容器部署到容器实例 - 门户 - Azure 容器实例 | Microsoft Docs 通过 azure 门户创建容器实例。

但是从门户创建容器的问题是创建容器实例后 IP 地址和 FQDN 为空。通过门户创建容器实例可能会出现一些问题

enter image description here

我按照本文档使用 CLI 创建了另一个容器实例快速入门 - 将 Docker 容器部署到容器实例 - Azure CLI - Azure 容器实例 |微软文档

容器实例已成功创建,并具有 IP 地址和 FQDN。

enter image description here

因此,我们可以使用 CLI 创建容器实例来解决问题。


0
投票

我遇到了同样的问题,但最终能够通过创建从容器注册表创建的容器实例

来解决

Container Registry

© www.soinside.com 2019 - 2024. All rights reserved.