你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
New-AzContainerGroup
创建或更新具有指定配置的容器组。
语法
New-AzContainerGroup
-Name <String>
-ResourceGroupName <String>
[-SubscriptionId <String>]
-Container <IContainer[]>
-Location <String>
[-OSType <OperatingSystemTypes>]
[-DnsConfigNameServer <String[]>]
[-DnsConfigOption <String>]
[-DnsConfigSearchDomain <String>]
[-EncryptionPropertyKeyName <String>]
[-EncryptionPropertyKeyVersion <String>]
[-EncryptionPropertyVaultBaseUrl <String>]
[-IPAddressDnsNameLabel <String>]
[-IPAddressIP <String>]
[-IPAddressPort <IPort[]>]
[-IPAddressType <ContainerGroupIPAddressType>]
[-IdentityType <ResourceIdentityType>]
[-IdentityUserAssignedIdentity <Hashtable>]
[-ImageRegistryCredential <IImageRegistryCredential[]>]
[-InitContainer <IInitContainerDefinition[]>]
[-LogAnalyticLogType <LogAnalyticsLogType>]
[-LogAnalyticMetadata <Hashtable>]
[-LogAnalyticWorkspaceId <String>]
[-LogAnalyticWorkspaceKey <String>]
[-LogAnalyticWorkspaceResourceId <String>]
[-RestartPolicy <ContainerGroupRestartPolicy>]
[-Sku <ContainerGroupSku>]
[-SubnetId <IContainerGroupSubnetId[]>]
[-Tag <Hashtable>]
[-Volume <IVolume[]>]
[-Zone <String[]>]
[-Priority <String>]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
创建或更新具有指定配置的容器组。
示例
示例 1:使用容器实例创建容器组,并使用打开端口请求公共 IP 地址
$port1 = New-AzContainerInstancePortObject -Port 8000 -Protocol TCP
$port2 = New-AzContainerInstancePortObject -Port 8001 -Protocol TCP
$container = New-AzContainerInstanceObject -Name test-container -Image nginx -RequestCpu 1 -RequestMemoryInGb 1.5 -Port @($port1, $port2)
$containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -OsType Linux -RestartPolicy "Never" -IpAddressType Public
Location Name Zone ResourceGroupName
-------- ---- ---- -----------------
eastus test-cg test-rg
此命令创建包含容器实例的容器组,该容器实例的映像是最新的 nginx,并使用打开端口 8000 和 8001 请求公共 IP 地址。
示例 2:创建容器组并在容器内运行自定义脚本。
$pwd = ConvertTo-SecureString -String "****" -AsPlainText -Force
$env1 = New-AzContainerInstanceEnvironmentVariableObject -Name "env1" -Value "value1"
$env2 = New-AzContainerInstanceEnvironmentVariableObject -Name "env2" -SecureValue $pwd
$container = New-AzContainerInstanceObject -Name test-container -Image alpine -Command "/bin/sh -c myscript.sh" -EnvironmentVariable @($env1, $env2)
$containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -OsType Linux
Location Name Zone ResourceGroupName
-------- ---- ---- -----------------
eastus test-cg test-rg
此命令将创建容器组并在容器内运行自定义脚本。
示例 3:创建运行到完成容器组
$container = New-AzContainerInstanceObject -Name test-container -Image alpine -Command "echo hello"
$containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -OsType Linux
Location Name Zone ResourceGroupName
-------- ---- ---- -----------------
eastus test-cg test-rg
此命令将创建一个容器组,用于输出“hello”并停止。
示例 4:在 Azure 容器注册表 中使用映像 nginx 创建包含容器实例的容器组
$pwd = ConvertTo-SecureString -String "****" -AsPlainText -Force
$container = New-AzContainerInstanceObject -Name test-container -Image myacr.azurecr.io/nginx:latest
$imageRegistryCredential = New-AzContainerGroupImageRegistryCredentialObject -Server "myacr.azurecr.io" -Username "username" -Password $pwd
$containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -ImageRegistryCredential $imageRegistryCredential
Location Name Zone ResourceGroupName
-------- ---- ---- -----------------
eastus test-cg test-rg
此命令创建包含容器实例的容器组,该容器实例的映像为 Azure 容器注册表 中的 nginx。
示例 5:在自定义容器映像注册表中使用映像 nginx 创建包含容器实例的容器组
$pwd = ConvertTo-SecureString -String "****" -AsPlainText -Force
$container = New-AzContainerInstanceObject -Name test-container -Image myserver.com/nginx:latest
$imageRegistryCredential = New-AzContainerGroupImageRegistryCredentialObject -Server "myserver.com" -Username "username" -Password $pwd
$containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -ImageRegistryCredential $imageRegistryCredential
Location Name Zone ResourceGroupName
-------- ---- ---- -----------------
eastus test-cg test-rg
此命令使用容器实例创建容器组,该容器实例的映像是自定义容器映像注册表中的自定义映像。
示例 6:创建装载 Azure 文件卷的容器组
$pwd = ConvertTo-SecureString -String "****" -AsPlainText -Force
$volume = New-AzContainerGroupVolumeObject -Name "myvolume" -AzureFileShareName "myshare" -AzureFileStorageAccountName "username" -AzureFileStorageAccountKey $pwd
$mount = New-AzContainerInstanceVolumeMountObject -MountPath "/aci/logs" -Name "myvolume"
$container = New-AzContainerInstanceObject -Name test-container -Image alpine -VolumeMount $mount
$containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -Volume $volume
Location Name Zone ResourceGroupName
-------- ---- ---- -----------------
eastus test-cg test-rg
此命令使用容器实例创建容器组,该容器实例的映像是自定义容器映像注册表中的自定义映像。
示例 7:创建具有系统分配标识和用户分配标识的容器组
$container = New-AzContainerInstanceObject -Name test-container -Image alpine
$containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -IdentityType "SystemAssigned, UserAssigned" -IdentityUserAssignedIdentity @{"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}" = @{}}
Location Name Zone ResourceGroupName
-------- ---- ---- -----------------
eastus test-cg test-rg
此命令创建一个容器组,其中包含系统分配的标识和用户分配的标识。
参数
-AsJob
以作业身份运行命令
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Container
容器组中的容器。 若要构造,请参阅 CONTAINER 属性的 NOTES 部分并创建哈希表。
类型: | IContainer[] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
类型: | PSObject |
别名: | AzureRMContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DnsConfigNameServer
容器组的 DNS 服务器。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DnsConfigOption
容器组的 DNS 选项。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DnsConfigSearchDomain
容器组中主机名查找的 DNS 搜索域。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EncryptionPropertyKeyName
加密密钥名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EncryptionPropertyKeyVersion
加密密钥版本。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EncryptionPropertyVaultBaseUrl
密钥保管库基础 URL。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-IdentityType
容器组使用的标识类型。 类型“SystemAssigned ,UserAssigned”包含隐式创建的标识和一组用户分配的标识。 类型“None”删除容器组中的所有标识。
类型: | ResourceIdentityType |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-IdentityUserAssignedIdentity
与容器组关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。
类型: | Hashtable |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ImageRegistryCredential
创建容器组所依据的映像注册表凭据。 若要构造,请参阅 IMAGEREGISTRYCREDENTIAL 属性的 NOTES 部分,并创建哈希表。
类型: | IImageRegistryCredential[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InitContainer
容器组的 Init 容器。 若要构造,请参阅 INITCONTAINER 属性的 NOTES 部分并创建哈希表。
类型: | IInitContainerDefinition[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-IPAddressDnsNameLabel
IP 的 DNS 名称标签。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-IPAddressIP
向公共 Internet 公开的 IP。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-IPAddressPort
容器组上公开的端口列表。 若要构造,请参阅 IPADDRESSPORT 属性的 NOTES 部分并创建哈希表。
类型: | IPort[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-IPAddressType
指定 IP 是否向公共 Internet 或专用 VNET 公开。
类型: | ContainerGroupIPAddressType |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Location
资源位置。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-LogAnalyticLogType
要使用的日志类型。
类型: | LogAnalyticsLogType |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LogAnalyticMetadata
Log Analytics 的元数据。
类型: | Hashtable |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LogAnalyticWorkspaceId
Log Analytics 的工作区 ID
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LogAnalyticWorkspaceKey
Log Analytics 的工作区键
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LogAnalyticWorkspaceResourceId
Log Analytics 的工作区资源 ID
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Name
容器组的名称。
类型: | String |
别名: | ContainerGroupName |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-NoWait
异步运行命令
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-OSType
容器组中容器所需的操作系统类型。
类型: | OperatingSystemTypes |
Position: | Named |
默认值: | "Linux" |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Priority
容器组的优先级。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ResourceGroupName
资源组的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-RestartPolicy
容器组中所有容器的重启策略。
Always
始终重启 -OnFailure
失败时重启 -Never
从不重启
类型: | ContainerGroupRestartPolicy |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Sku
容器组的 SKU。
类型: | ContainerGroupSku |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SubnetId
容器组的子网资源 ID。 若要构造,请参阅 SUBNETID 属性的 NOTES 部分并创建哈希表。
类型: | IContainerGroupSubnetId[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SubscriptionId
唯一标识 azure 订阅Microsoft的订阅凭据。 此订阅 ID 是每个服务调用的 URI 的一部分。
类型: | String |
Position: | Named |
默认值: | (Get-AzContext).Subscription.Id |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Tag
资源标记。
类型: | Hashtable |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Volume
此容器组中的容器可以装载的卷列表。 若要构造,请参阅 VOLUME 属性的 NOTES 部分并创建哈希表。
类型: | IVolume[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Zone
容器组的区域。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |