Azure Docker compose在环境部分失败
我有一个docker-compose.yml脚本在Azure中运行良好。但是,当我添加带有两个变量的en environment部分时,它会失败,并出现以下错误:Azure Docker compose在环境部分失败,azure,docker-compose,azure-web-app-service,azure-container-service,Azure,Docker Compose,Azure Web App Service,Azure Container Service,我有一个docker-compose.yml脚本在Azure中运行良好。但是,当我添加带有两个变量的en environment部分时,它会失败,并出现以下错误: 2018-08-24 10:29:30.214 ERROR - Exception in multi-container config parsing: System.InvalidCastException: Specified cast is not valid. at LWAS.Kube.ComposeFileParser
2018-08-24 10:29:30.214 ERROR - Exception in multi-container config parsing: System.InvalidCastException: Specified cast is not valid.
at LWAS.Kube.ComposeFileParser.ParseContainer (System.Collections.Generic.KeyValuePair`2[TKey,TValue] service) [0x00152] in <029f376c1c6a4bb79892c2f60333c2d8>:0
at LWAS.Kube.ComposeFileParser.ParseFile (System.String composeYaml) [0x000d2] in <029f376c1c6a4bb79892c2f60333c2d8>:0
at LWAS.Kube.PodSpec.LoadSpecFromComposeYamlFile (System.String composeFile) [0x00000] in <029f376c1c6a4bb79892c2f60333c2d8>:0
at LWAS.SiteStartInfoRepository.SetupPodSpecForMultiContainerApp (Microsoft.Web.Hosting.StartSiteContext ctx, LWAS.LinuxSiteStartInfo startInfo) [0x0000f] in <029f376c1c6a4bb79892c2f60333c2d8>:0
2018-08-24 10:29:30.215 ERROR - Start multi-container app failed
我试过:
NGINX\u PORT=“80”
nginxPort=80
docker compose
命令在本地工作,没有任何问题。所以这一定是Azure特有的问题
我做错了什么
谢谢试试看:-删除
环境
值前面的破折号-将所有
环境值的“=”更改为“:”
version: '3.3'
services:
application:
image: myregistry.azurecr.io/application:latest
volumes:
- application_data:/usr/local/application/data
proxy:
image: myregistry.azurecr.io/proxy:latest
depends_on:
- application
environment:
NGINX_HOST: myapplication.azurewebsites.net
NGINX_PORT: 80
ports:
- "80:80"
volumes:
application_data:
来自Microsoft的yml示例:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
资料来源:
谢谢您的回复。它工作,但我的原始撰写文件也开始工作,没有任何编辑。从我的观点来看,当同一个compose文件开始工作时,它是Azure中的一个bug。不过,我会投票表决你的答案,感谢你抽出时间。我仍然有同样的问题,我不能使用-VAR=foo
符号。我真的很抱歉。你的回答是正确的。我又试了一次,但还是不起作用。我不得不忽略az命令中的哪个compose文件或什么。。。MS只实现了变量VAR:value
的映射,而不是我使用的序列one-VAR=value
。
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data: