I tried to deploy my Rasa chatbot in an Azure Container Instance using a YAML file and Azure CLI. Although it runs smoothly locally using the local wsl2 volume path /var/lib/docker/volumes/, when in cloud it appears to have the following problem.
Inside the rasa/rasa:3.x.x image there is a dockerfile layer that creates a Volume /tmp that contains metadata and python autographs. But when I upload the image to the cloud, while it seems that there is a connection with Azure File Share, this /tmp folder is NOT created. As you can see in the images below, inside the properties of the ACI, the File Share volume appears to function well.
ACI with Azure File Share connection
Empty Azure File Share directory
Below is my deploy-aci.yml used for the: az container create --resource-group myResourceGroup --file deploy-aci.yml
apiVersion: '2019-12-01'
location: northeurope
name: rasa-core-server
properties:
containers:
- name: rasa-core-server
properties:
environmentVariables: []
image: rasaregistry.azurecr.io/rasa-core-server:1.0.0
ports:
- port: 5005
resources:
requests:
cpu: 2
memoryInGB: 8
gpu:
count: 1
sku: K80
volumeMounts:
- mountPath: /rastorage
name: rasa-storage
osType: Linux
restartPolicy: Always
ipAddress:
type: Public
ports:
- port: 5005
dnsNameLabel: rasa-core-server
imageRegistryCredentials:
- server: rasaregistry.azurecr.io
username: test123
password: test456
volumes:
- name: rasa-storage
azureFile:
sharename: rasa-storage
storageAccountName: test123
storageAccountKey: test456
tags: {}
type: Microsoft.ContainerInstance/containerGroups
Is there something i am missing about mounting a File Share volume to a Linux Azure Container Instance? Has anyone managed to mount this /tmp volume inside a cloud?
I have already read the documentation about mounting with Azure File Share Mount Azure Files volume to container group - Azure Container Instances | Microsoft Docs
Any help is appreciated!