你当前正在访问 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

输出

IContainerGroup