首页 文章

如何使用C#启动以前停止的Azure容器实例?

提问于
浏览
0

我有以下代码来停止Azure容器实例,并希望使用类似的启动它 .

using Microsoft.Azure.Management.Compute.Fluent.Models;
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent.Core;

 var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal("XXXX",                "XXXX", "XXXX", AzureEnvironment.AzureGlobalCloud);

        var azure = Azure
            .Configure()
            .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
            .Authenticate(credentials)
            .WithSubscription("XXXXX");

        var containerName = "mycontainer";
        var containerGroup = azure.ContainerGroups.GetByResourceGroup("myResourceGroup", containerName);
        if (containerGroup.State == "Running")
        {
            containerGroup.Stop();
        }

我想做同样的事情并启动我的azure容器实例 . 那么containerGroup.Start(); ?这似乎不存在于界面中 . 我尝试过使用containerGroup.Restart();但这不会停止状态 . 我需要能够在C#代码中执行此操作,并且如果可能的话,我希望避免使用PowerShell .

1 回答

  • 0

    不幸的是,当您停止容器实例时,它们将处于Terminated状态,您无法再次启动它们 .

    无法更新已终止或已删除的容器组 . 一旦容器组停止(处于已终止状态)或已被删除,该组将部署为新的 .

    即使您更新ACI,也意味着将重新部署ACI . 你可以看一下Update containers in Azure Container Instances . 此外,当容器实例处于运行状态时,Restart操作也会起作用 .

    所以C#SDK中没有启动功能,至少现在 . 希望这会帮助你 .

    Update

    看一下这个活动:

    每次停止后启动容器组时,容器组始终执行以下步骤:拉动图像 - >创建容器组 - >启动容器实例 . 所以很明显,当你在停止后启动它时,容器组被重新创建 .

相关问题