`docker context create aci` `--location` 参数似乎无效
`docker context create aci` `--location` argument seems to have no effect
当使用 docker compose 将容器组部署到 Azure 容器实例时,出现在为 aci docker 上下文创建 docker context create aci...
时指定的 --location
参数没有效果。
我正在关注 these azure instructions 以使用 docker compose with azure container instances
和 this docker documentation 显示 docker context create
命令的附加参数
重新制作的步骤
先决条件:
Azure CLI
λ az version
{
"azure-cli": "2.22.1",
"azure-cli-core": "2.22.1",
"azure-cli-telemetry": "1.0.6",
"extensions": {}
}
Docker
λ docker-compose --version
docker-compose version 1.29.0, build 07737305
Docker撰写
λ docker --version
Docker version 20.10.5, build 55c4c88
步骤:
- 通过 cli 登录 azure
az login
- 使用 azure
docker login azure
验证 docker
- 在特定位置创建 azure 资源组
az group create -l uksouth -n test-aci-ctx-group
- 创建一个 docker 上下文指定与资源组位置不同的位置
docker context create aci aci-context-eastus --resource-group test-aci-ctx-group --location eastus
- 显示有关新上下文的信息。
docker context inspect aci-context-eastus
- 预期结果:绑定到
docker context create
命令指定为--location
的位置的上下文,即eastus
- 实际结果:上下文绑定到与 azure 资源组相同的位置,即 uksouth
λ docker context inspect aci-context-eastus
[
{
"Name": "aci-context-eastus",
"Metadata": {
"Description": "test-aci-ctx-group@uksouth",
"Type": "aci"
},
"Endpoints": {
"aci": {
"Location": "uksouth",
"ResourceGroup": "test-aci-ctx-group",
"SubscriptionID": "xxxxxxxxxxxxxxxxxxx"
},
"docker": {
"SkipTLSVerify": false
}
},
"TLSMaterial": {},
"Storage": {
"MetadataPath": "xxxx",
"TLSPath": "xxxx"
}
}
]
此问题的最终表现是我无法在 azure 中创建容器组,因为我在无法更改的资源组上下文中工作,但资源组位于可以更改的位置不支持 Azure 容器实例。
当我尝试在我 认为 我在 支持 天蓝色容器实例的位置创建的 aci 上下文中发出 docker-compose up
命令时,我收到一个位置不受支持的错误,列出了资源组的位置,而不是我为 docker aci 上下文指定的位置。
我是否误解了 --location
参数的用途?
我知道你可以混合和匹配容器实例和资源组之间的位置,因为我能够通过 azure cli 创建一个容器实例,其位置与它链接到的资源组。
你误解了步骤。参数需要这样使用:
docker context create aci --location "eastus"
因此您不需要先创建资源组。当您这样做时,该组已经在特定位置创建,您无法使用 docker-compose 命令更改它。
你有两个选择。一种是使用您想要的位置创建资源组,例如,位置“eastus”。或者创建参数--location "eastus"
没有名字的资源组
当使用 docker compose 将容器组部署到 Azure 容器实例时,出现在为 aci docker 上下文创建 docker context create aci...
时指定的 --location
参数没有效果。
我正在关注 these azure instructions 以使用 docker compose with azure container instances
和 this docker documentation 显示 docker context create
命令的附加参数
重新制作的步骤
先决条件:
Azure CLI
λ az version
{
"azure-cli": "2.22.1",
"azure-cli-core": "2.22.1",
"azure-cli-telemetry": "1.0.6",
"extensions": {}
}
Docker
λ docker-compose --version
docker-compose version 1.29.0, build 07737305
Docker撰写
λ docker --version
Docker version 20.10.5, build 55c4c88
步骤:
- 通过 cli 登录 azure
az login
- 使用 azure
docker login azure
验证 docker
- 在特定位置创建 azure 资源组
az group create -l uksouth -n test-aci-ctx-group
- 创建一个 docker 上下文指定与资源组位置不同的位置
docker context create aci aci-context-eastus --resource-group test-aci-ctx-group --location eastus
- 显示有关新上下文的信息。
docker context inspect aci-context-eastus
- 预期结果:绑定到
docker context create
命令指定为--location
的位置的上下文,即eastus - 实际结果:上下文绑定到与 azure 资源组相同的位置,即 uksouth
λ docker context inspect aci-context-eastus
[
{
"Name": "aci-context-eastus",
"Metadata": {
"Description": "test-aci-ctx-group@uksouth",
"Type": "aci"
},
"Endpoints": {
"aci": {
"Location": "uksouth",
"ResourceGroup": "test-aci-ctx-group",
"SubscriptionID": "xxxxxxxxxxxxxxxxxxx"
},
"docker": {
"SkipTLSVerify": false
}
},
"TLSMaterial": {},
"Storage": {
"MetadataPath": "xxxx",
"TLSPath": "xxxx"
}
}
]
此问题的最终表现是我无法在 azure 中创建容器组,因为我在无法更改的资源组上下文中工作,但资源组位于可以更改的位置不支持 Azure 容器实例。
当我尝试在我 认为 我在 支持 天蓝色容器实例的位置创建的 aci 上下文中发出 docker-compose up
命令时,我收到一个位置不受支持的错误,列出了资源组的位置,而不是我为 docker aci 上下文指定的位置。
我是否误解了 --location
参数的用途?
我知道你可以混合和匹配容器实例和资源组之间的位置,因为我能够通过 azure cli 创建一个容器实例,其位置与它链接到的资源组。
你误解了步骤。参数需要这样使用:
docker context create aci --location "eastus"
因此您不需要先创建资源组。当您这样做时,该组已经在特定位置创建,您无法使用 docker-compose 命令更改它。
你有两个选择。一种是使用您想要的位置创建资源组,例如,位置“eastus”。或者创建参数--location "eastus"
没有名字的资源组