Я пытаюсь настроить контейнер zookeeper в Azure. Я хочу, чтобы он использовал три разных общих файловых хранилища Azure. Один предназначен для конфигурации zookeeper, один - для данных, а третий - для журналов. Из-за множественных подключений мне приходится использовать шаблон ARM для развертывания.
Кроме того, я не совсем уверен, как я могу заставить контейнер использовать переключатель -v или, если мне нужно, чтобы он смотрел на мою общую папку config как на нужный файл. Вы можете увидеть мою попытку в переопределении команд.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"resources": [
{
"location": "centralus",
"name": "redacted",
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2018-10-01",
"properties": {
"containers": [
{
"name": "redacted",
"properties": {
"image": "zookeeper:latest",
"resources": {
"requests": {
"cpu": "1",
"memoryInGB": "1.5"
}
},
"ports": [
{
"port": "2181",
"protocol": "TCP"
}
],
"command": [
"-v/azshare/config/zk/cfg:/conf/zoo.cfg zookeeper"
],
"volumeMounts": [
{
"name": "config",
"mountPath": "azshare/config"
},
{
"name": "data",
"mountPath": "azshare/data"
},
{
"name": "logs",
"mountPath": "azshare/logs"
}
]
}
}
],
"restartPolicy": "Always",
"osType": "Linux",
"ipAddress": {
"type": "Public",
"ports": [
{
"port": "2181",
"protocol": "TCP"
}
],
"dnsNameLabel": "redacted"
},
"volumes": [
{
"name": "config",
"azureFile": {
"shareName": "config",
"storageAccountName": "redacted",
"storageAccountKey": "redacted"
}
},
{
"name": "data",
"azureFile": {
"shareName": "data",
"storageAccountName": "redacted",
"storageAccountKey": "redacted"
}
},
{
"name": "logs",
"azureFile": {
"shareName": "logs",
"storageAccountName": "redacted",
"storageAccountKey": "redacted"
}
}
]
},
"tags": {}
}
]
}
Получается, что мой путь монтирования должен начинаться с косой черты. Путь должен быть / azshare / config и т. Д.
Что касается передачи команд, похоже, что команда просто заменяет точку входа в докер. Если вы используете формат шаблона, ваши команды разделены пробелами, поэтому каждый пробел представляет собой новую строку.