при создании докера из многоконтейнерного приложения я получаю сообщение об ошибке определения томов: services.volumes Дополнительное свойство nginx не допускается.
в моем docker-compose.yaml я определил тома, как это предписано докером: https://docs.docker.com/engine/context/aci-integration/#using-azure-file-share-as-volumes-in-aci-containers.
мой докер-compose.yaml:
version: '3.4'
services:
nginx:
image: nginx
container_name: nginx
restart: always
volumes:
- nginxdata/conf.d:/etc/nginx/conf.d
- nginx/basic_auth:/etc/nginx/basic_auth
ports:
- 80:80/tcp
volumes:
nginxdata:
driver: azure_file
driver_opts:
share_name: nginxdata
storage_account_name: mystorageacct
nginx:
driver: azure_file
driver_opts:
share_name: nginx
storage_account_name: mystorageacct
Когда я создаю докер, я получаю сообщение об ошибке: «services.volumes Дополнительное свойство nginxdata не разрешено».
Примечание: лазурные ресурсы существуют, и, например, это работает:
docker --context myaci run --name=nginxvolip -p 80:80 -v mystorageacct/nginx:/usr/share/nginx/html nginx
Я что-то пропустил? Помощь приветствуется!
Давайте посмотрим на пример, который отлично работает:
docker --context myaci run --name=nginxvolip -p 80:80 -v mystorageacct/nginx:/usr/share/nginx/html nginx
Эта команда означает, что вы монтируете файловый ресурс nginx
в хранилище mystorageacct
по пути /usr/share/nginx/html
, и проблем нет. Но в файле docker-compose вы настраиваете монтирование следующим образом:
volumes:
- nginxdata/conf.d:/etc/nginx/conf.d
- nginx/basic_auth:/etc/nginx/basic_auth
Кажется, вы хотите подключить папку внутри общей папки к пути внутри контейнера. И в этом проблема. Вы не можете подключить папки внутри общей папки к контейнеру, только те общие папки, которые вы можете подключить. И ошибка также показывает ключевые слова, что Дополнительное свойство не разрешено. Таким образом, доступное крепление должно выглядеть так:
volumes:
- nginxdata:/etc/nginx/conf.d
- nginx:/etc/nginx/basic_auth
Извините за мой поздний ответ. Вы правы, можно монтировать только файловые ресурсы. Ошибка дополнительного свойства была связана с неправильным отступом в yaml; определение томов должно быть на том же уровне, что и определение служб, но это не так. После устранения обеих проблем все работает. Спасибо, Чарльз.
Есть ли еще обновления по этому вопросу? Это решает вашу проблему?