Alıştırma - Veri hacimlerini kullanma
Azure Container Instances varsayılan olarak durum bilgilerini saklamaz. Kapsayıcı kilitlenir veya durdurulursa tüm durum bilgileri kaybolur. Durum bilgilerinin kapsayıcının ömründen bağımsız olarak kalıcı olmasını sağlamak için dış bir depodan birim bağlamanız gerekir.
Verileri depolayıp daha sonra erişebilmek için azure dosya paylaşımını bir Azure kapsayıcı örneğine bağlayın.
Azure dosya paylaşımı oluşturma
Depolama hesabı ve dosya paylaşımı oluşturun. Daha sonra, dosya paylaşımını bir Azure kapsayıcı örneği için erişilebilir hale getirebilirsiniz.
Depolama hesabınızın benzersiz bir adı olması gerekir. Öğrenme amacıyla, bash değişkeninde benzersiz bir ad depolamak için aşağıdaki komutu çalıştırın:
STORAGE_ACCOUNT_NAME=mystorageaccount$RANDOM
Depolama hesabınızı oluşturmak için aşağıdaki
az storage account create
komutu çalıştırın:az storage account create \ --resource-group learn-deploy-aci-rg \ --name $STORAGE_ACCOUNT_NAME \ --sku Standard_LRS \ --location eastus
depolama hesabını bağlantı dizesi adlı
AZURE_STORAGE_CONNECTION_STRING
bir ortam değişkenine yerleştirmek için aşağıdaki komutu çalıştırın:export AZURE_STORAGE_CONNECTION_STRING=$(az storage account show-connection-string \ --resource-group learn-deploy-aci-rg \ --name $STORAGE_ACCOUNT_NAME \ --output tsv)
AZURE_STORAGE_CONNECTION_STRING
, Azure CLI'nın anladığı özel bir ortam değişkenidir. bölümü,export
bu değişkeni daha sonra çalıştırdığınız diğer CLI komutları için erişilebilir hale getirir.Depolama hesabında aci-share-demo adlı bir dosya paylaşımı oluşturmak için şu komutu çalıştırın:
az storage share create --name aci-share-demo
Depolama kimlik bilgilerini alma
Bir Azure dosya paylaşımını Azure Kapsayıcı Örnekleri'ne bir birim olarak bağlamak için aşağıdaki değerlere ihtiyacınız vardır:
- Depolama hesabı adı
- Paylaşım adı
- Depolama hesabı erişim anahtarı
İlk iki değeri zaten biliyorsunuz. Depolama hesabı adı STORAGE_ACCOUNT_NAME
Bash değişkeninde depolanır. Önceki adımda paylaşım adı olarak aci-share-demo değerini belirttiniz. Burada kalan değeri alırsınız: depolama hesabı erişim anahtarı.
Depolama hesabı anahtarını almak için aşağıdaki komutu çalıştırın:
STORAGE_KEY=$(az storage account keys list \ --resource-group learn-deploy-aci-rg \ --account-name $STORAGE_ACCOUNT_NAME \ --query "[0].value" \ --output tsv)
Sonuç
STORAGE_KEY
adlı bir Bash değişkeninde depolanır.İsteğe bağlı bir adım olarak depolama hesabı anahtarını konsola yazdırın.
echo $STORAGE_KEY
Kapsayıcı dağıtma ve dosya paylaşımını bağlama
Azure dosya paylaşımını bir kapsayıcıya birim olarak bağlamak için, kapsayıcıyı oluştururken paylaşımı ve birim bağlama noktasını belirtirsiniz.
Dosya paylaşımınıza bağlı
/aci/logs/
bir kapsayıcı oluşturmak için şuaz container create
komutu çalıştırın:az container create \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --image mcr.microsoft.com/azuredocs/aci-hellofiles \ --location eastus \ --ports 80 \ --ip-address Public \ --azure-file-volume-account-name $STORAGE_ACCOUNT_NAME \ --azure-file-volume-account-key $STORAGE_KEY \ --azure-file-volume-share-name aci-share-demo \ --azure-file-volume-mount-path /aci/logs/
Kapsayıcınızın genel IP adresini almak için komutunu çalıştırın
az container show
:az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query ipAddress.ip \ --output tsv
Bir tarayıcıdan kapsayıcınızın IP adresine gidin. Şu sayfayı alırsınız:
Forma metin girin ve Gönder'i seçin. Bu eylem, Azure dosya paylaşımında, girdiğiniz metni içeren bir dosya oluşturur.
Dosya paylaşımınızda bulunan dosyaları görüntülemek için şu
az storage file list
komutu çalıştırın:az storage file list -s aci-share-demo -o table
Cloud Shell oturumunuza bir dosya indirmek için
az storage file download
komutunu çalıştırın. filename değerini önceki adımda görünen dosyalardan biriyle değiştirin<:>az storage file download -s aci-share-demo -p <filename>
Dosyanın içeriğini yazdırmak için
cat
komutunu çalıştırın.cat <filename>
Kapsayıcınız çıktıktan sonra verilerinizin korunduğunu unutmayın. Verileri kullanabilmeleri için dosya paylaşımınızı diğer kapsayıcı örneklerine bağlamanız gerekir.