我想运行一个容器实例(OrientDB数据库)。我创建了一个Azure文件共享并将其附加到实例(由于Web GUI不支持Azure命令行界面,因此必须使用Azure CLI命令行界面)。问题是我需要输入运行参数以将内部文件夹映射到外部文件夹。我正在搜索几天,根本找不到如何输入参数。我确定我不是唯一一个这样做的人,但是我发现的一切都不令人满意。帮助任何人吗?
到目前为止,我正在使用此命令。
az container create -g ProjectX --name orientdb --image orientdb:3.0.32 `
--cpu 1 `
--memory 1.5 `
--environment-variables ORIENTDB_ROOT_PASSWORD=*** `
--os-type Linux `
--ports 80 2424 2480 `
--protocol TCP `
--ip-address public `
--dns-name-label *** `
--azure-file-volume-share-name *** `
--azure-file-volume-account-name *** `
--azure-file-volume-account-key *** `
--azure-file-volume-mount-path /mnt/azurevolume `
--restart-policy OnFailure
我不知道“ azure-file-volume-xxx”参数是否足够。我认为没有,因为我认为这些仅将外部卷附加到容器,但不执行任何映射。
在本地运行orientdb容器的命令是:
docker run -d --name orientdb -p 2424:2424 -p 2480:2480 \
-v <config_path>:/orientdb/config \
-v <databases_path>:/orientdb/databases \
-v <backup_path>:/orientdb/backup \
-e ORIENTDB_ROOT_PASSWORD=rootpwd \
orientdb
谢谢 托玛斯
答案 0 :(得分:0)
我认为您需要使用以下参数:
--azure-file-volume-account-name
--azure-file-volume-account-key
--azure-file-volume-share-name
--azure-file-volume-mount-path
https://docs.microsoft.com/en-us/azure/container-instances/container-instances-volume-azure-files
az container create \
--resource-group $ACI_PERS_RESOURCE_GROUP \
--name hellofiles \
--image mcr.microsoft.com/azuredocs/aci-hellofiles \
--dns-name-label aci-demo \
--ports 80 \
--azure-file-volume-account-name $ACI_PERS_STORAGE_ACCOUNT_NAME \
--azure-file-volume-account-key $STORAGE_KEY \
--azure-file-volume-share-name $ACI_PERS_SHARE_NAME \
--azure-file-volume-mount-path /aci/logs/
上级答案(我正在猜测OP使用的docker映像和命令行参数)
简而言之:
非 “秘密”又称敏感值。您可以使用环境变量“注入”配置值。
请注意“-环境变量”
az container create \
--resource-group myResourceGroup \
--name mycontainer2 \
--image mcr.microsoft.com/azuredocs/aci-wordcount:latest \
--restart-policy OnFailure \
--environment-variables 'NumWords'='5' 'MinLength'='8'
https://docs.microsoft.com/en-us/azure/container-instances/container-instances-environment-variables
从哲学上讲,请勿将这些值烘烤到容器中。您的容器“伸出”以获取它们...容器“伸出”的最简单方法是读取环境变量。
..
对于机密,请使用Azure KeyVault。这不在您的问题范围内,但我在此提及,因此可以避免使用ENV变量作为机密的不良安全实践。
秘密是“数据库密码”,Oauth2的“ client_secret”等,等等。
面包屑:
https://docs.microsoft.com/en-us/azure/container-instances/container-instances-managed-identity
https://thorsten-hans.com/integrating-azure-keyvault-with-azure-container-services