Aktualisieren von Containern in Azure Container InstancesUpdate containers in Azure Container Instances

Während des normalen Betriebs Ihrer Containerinstanzen ist es unter Umständen erforderlich, die in einer Containergruppe ausgeführten Container zu aktualisieren.During normal operation of your container instances, you may find it necessary to update the running containers in a container group. Beispielsweise möchten Sie möglicherweise eine Eigenschaft aktualisieren, z. B. eine Imageversion, einen DNS-Namen oder eine Umgebungsvariable, oder eine Eigenschaft in einem Container aktualisieren, dessen Anwendung abgestürzt ist.For example, you might wish to update a property such as an image version, a DNS name, or an environment variable, or refresh a property in a container whose application has crashed.

Aktualisieren Sie die in einer Containergruppe ausgeführten Container, indem Sie eine vorhandene Gruppe mit mindestens einer geänderten Eigenschaft erneut bereitstellen.Update the containers in a running container group by redeploying an existing group with at least one modified property. Wenn Sie eine Containergruppe aktualisieren, werden alle ausgeführten Container in der Gruppe direkt neu gestartet. Dies erfolgt in der Regel auf demselben zugrunde liegenden Containerhost.When you update a container group, all running containers in the group are restarted in-place, usually on the same underlying container host.

Hinweis

Beendete oder gelöschte Containergruppen können nicht aktualisiert werden.Terminated or deleted container groups can't be updated. Nachdem eine Containergruppe beendet (Erfolgs- oder Fehlerstatus) oder gelöscht wurde, muss die Gruppe als neue Gruppe bereitgestellt werden.Once a container group has terminated (is in either a Succeeded or Failed state) or has been deleted, the group must be deployed as new. Weitere Informationen finden Sie unter Einschränkungen.See other limitations.

Aktualisieren einer ContainergruppeUpdate a container group

Aktualisieren einer vorhandenen Containergruppe:To update an existing container group:

  • Geben Sie den Befehl „create“ ein (oder verwenden Sie das Azure-Portal), und geben Sie den Namen einer vorhandenen Gruppe an.Issue the create command (or use the Azure portal) and specify the name of an existing group
  • Ändern Sie mindestens eine Eigenschaft der Gruppe, die Updates bei der erneuten Bereitstellung unterstützt, oder fügen Sie eine solche Eigenschaft hinzu.Modify or add at least one property of the group that supports update when you redeploy. Bestimmte Eigenschaften unterstützen keine Updates.Certain properties don't support updates.
  • Legen Sie andere Eigenschaften mit den Werten fest, die Sie zuvor angegeben haben.Set other properties with the values you provided previously. Wenn Sie keinen Wert für eine Eigenschaft festlegen, wird der Standardwert wiederhergestellt.If you don't set a value for a property, it reverts to its default value.

Tipp

Eine YAML-Datei hilft bei der Verwaltung der Bereitstellungskonfiguration einer Containergruppe und bietet einen Startpunkt für die Bereitstellung einer aktualisierten Gruppe.A YAML file helps maintain a container group's deployment configuration, and provides a starting point to deploy an updated group. Wenn Sie eine andere Methode zum Erstellen der Gruppe verwendet haben, können Sie die Konfiguration mithilfe des Befehls az container export in eine YAML-Datei exportieren.If you used a different method to create the group, you can export the configuration to YAML by using az container export,

BeispielExample

Das folgende Azure CLI-Beispiel aktualisiert eine Containergruppe mit einer neuen DNS-Namensbezeichnung.The following Azure CLI example updates a container group with a new DNS name label. Da die Eigenschaft der DNS-Namensbezeichnung der Gruppe geändert werden kann, wird die Containergruppe erneut bereitgestellt, und ihre Container werden neu gestartet.Because the DNS name label property of the group is one that can be updated, the container group is redeployed, and its containers restarted.

Erste Bereitstellung mit der DNS-Namensbezeichnung myapplication-staging:Initial deployment with DNS name label myapplication-staging:

# Create container group
az container create --resource-group myResourceGroup --name mycontainer \
    --image nginx:alpine --dns-name-label myapplication-staging

Aktualisieren Sie die Containergruppe mit der neuen DNS-Namensbezeichnung myapplication, und legen Sie die übrigen Eigenschaften mithilfe der zuvor verwendeten Werte fest:Update the container group with a new DNS name label, myapplication, and set the remaining properties with the values used previously:

# Update DNS name label (restarts container), leave other properties unchanged
az container create --resource-group myResourceGroup --name mycontainer \
    --image nginx:alpine --dns-name-label myapplication

Vorteile der AktualisierungUpdate benefits

Der Hauptvorteil der Aktualisierung einer vorhandenen Containergruppe ist die schnellere Bereitstellung.The primary benefit of updating an existing container group is faster deployment. Wenn Sie eine bereits vorhandene Containergruppe erneut bereitstellen, werden die Containerimageebenen aus der Zwischenspeicherung der vorherigen Bereitstellung abgerufen.When you redeploy an existing container group, its container image layers are pulled from those cached by the previous deployment. Statt wie bei neuen Bereitstellungen alle Imageebenen direkt aus der Registrierung abzurufen, werden nur geänderte Ebenen (sofern vorhanden) abgerufen.Instead of pulling all image layers fresh from the registry as is done with new deployments, only modified layers (if any) are pulled.

Bei Anwendungen, die auf größeren Containerimages wie Windows Server Core basieren, wird die Bereitstellung erheblich beschleunigt, wenn Sie Container aktualisieren, statt sie zu löschen und neu bereitzustellen.Applications based on larger container images like Windows Server Core can see significant improvement in deployment speed when you update instead of delete and deploy new.

EinschränkungenLimitations

  • Nicht alle Eigenschaften einer Containergruppe unterstützen die Aktualisierung.Not all properties of a container group support updates. Bei einigen Eigenschaften einer Containergruppe müssen Sie zum Ändern die Gruppe zuerst löschen und anschließend erneut bereitstellen.To change some properties of a container group, you must first delete, then redeploy the group. Weitere Informationen finden Sie unter Eigenschaften, für die eine Löschung der Container erforderlich ist.See Properties that require container delete.
  • Alle Container in einer Containergruppe werden neu gestartet, wenn Sie die Containergruppe aktualisieren.All containers in a container group are restarted when you update the container group. Sie können keine Aktualisierung und keinen direkten Neustart eines bestimmten Containers in einer Gruppe mit mehreren Containern ausführen.You can't perform an update or in-place restart of a specific container in a multi-container group.
  • Die IP-Adresse einer Containergruppe ändert sich bei Updates in der Regel nicht. Es wird jedoch nicht garantiert, dass sie gleich bleibt.The IP address of a container group is typically retained between updates, but isn't guaranteed to remain the same. Wird die Containergruppe auf dem gleichen zugrunde liegenden Host bereitgestellt, behält die Containergruppe ihre IP-Adresse.As long as the container group is deployed to the same underlying host, the container group retains its IP address. Obwohl es selten vorkommt, gibt es einige interne Azure-Ereignisse, die eine erneute Bereitstellung auf einem anderen Host verursachen können.Although rare, there are some Azure-internal events that can cause redeployment to a different host. Es wird empfohlen, stets eine DNS-Namensbezeichnung für Ihre Containerinstanzen zu verwenden, um dieses Problem zu umgehen.To mitigate this issue, we recommend using a DNS name label for your container instances.
  • Beendete oder gelöschte Containergruppen können nicht aktualisiert werden.Terminated or deleted container groups can't be updated. Sobald eine Containergruppe beendet (Status: Beendet) oder gelöscht wird, wird die Gruppe als neue Gruppe bereitgestellt.Once a container group is stopped (is in the Terminated state) or deleted, the group is deployed as new.

Eigenschaften, für die eine Löschung der Container erforderlich istProperties that require container delete

Nicht alle Eigenschaften der Containergruppe können aktualisiert werden.Not all container group properties can be updated. Wenn Sie beispielsweise die Neustartrichtlinie eines Containers ändern möchten, müssen Sie zuerst die Containergruppe löschen und anschließend nochmals erstellen.For example, to change the restart policy of a container, you must first delete the container group, then create it again.

Damit Änderungen an diesen Eigenschaften vorgenommen werden können, muss vor der erneuten Bereitstellung die Containergruppe gelöscht werden:Changes to these properties require container group deletion prior to redeployment:

  • BetriebssystemtypOS type
  • CPU-, Arbeitsspeicher- oder GPU-RessourcenCPU, memory, or GPU resources
  • NeustartrichtlinieRestart policy
  • NetzwerkprofilNetwork profile

Wenn Sie eine Containergruppe löschen und erneut erstellen, wird sie nicht erneut bereitgestellt, sondern neu erstellt.When you delete a container group and recreate it, it's not "redeployed," but created new. Alle Imageebenen werden neu aus der Registrierung und nicht aus der Zwischenspeicherung einer vorherigen Bereitstellung abgerufen.All image layers are pulled fresh from the registry, not from those cached by a previous deployment. Die IP-Adresse des Containers kann sich unter Umständen ebenfalls ändern, weil die erneute Bereitstellung auf einem anderen zugrunde liegenden Host erfolgt.The IP address of the container might also change due to being deployed to a different underlying host.

Nächste SchritteNext steps

Die Containergruppe wurde in diesem Artikel bereits mehrmals erwähnt.Mentioned several times in this article is the container group. Jeder Container in Azure Container Instances wird in einer Containergruppe bereitgestellt, und Containergruppen können mehrere Container enthalten.Every container in Azure Container Instances is deployed in a container group, and container groups can contain more than one container.

Containergruppen in Azure Container InstancesContainer groups in Azure Container Instances

Bereitstellen einer ContainergruppeDeploy a multi-container group

Manuelles Beenden oder Starten von Containern in Azure Container InstancesManually stop or start containers in Azure Container Instances