问题标签 [azure-container-instances]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
685 浏览

azure - 如何在 azure 容器组内的容器实例上访问 docker.sock?

我正在做一个通过 Rest 部署 azure 容器组的小型系统。在容器组上,我有多个通过 Traefik 进行负载平衡的实例。例如,我有一个包含两个容器的容器组以及一个将请求重定向到其他两个容器的 traefik 容器。

这个解决方案的问题是能够访问 traefik 容器上的 docker.sock。没有 docker.sock Traefik 是盲目的,无法检测到现有的容器。

我尝试了几种方法,但没有成功。

是否可以在 azure 容器实例上访问 docker.sock?

谢谢你的支持。

0 投票
1 回答
322 浏览

.net - 使用 Fluent sdk 和 windows 容器启动 Azure 容器实例

我正在尝试使用 azure container instance fluent management sdk 启动一个 azure container 实例。我正在使用基于 Windows 的容器。我收到以下错误:

System.Private.CoreLib:执行函数时出现异常:SpinUp。Microsoft.Azure.Management.ContainerInstance.Fluent:不支持映像“/:v1”的操作系统版本。

它使用基于 Linux 的容器完美运行 - 代码:

任何帮助表示赞赏 - 我可以手动启动容器实例

0 投票
1 回答
81 浏览

azure-container-instances - 成功前多个图像拉取错误

我正在使用 Azure cli 创建 ACI 实例。创作正在工作,但真的很慢。Azure 门户似乎推动了一些新的更改,这些更改现在显示在 docker 日志中,我注意到一个独特的模式,即我创建的每个 ACI 在最终成功之前都会循环通过 2 次图像拉取失败。这是我看到的错误:

无法拉取映像“{myregistry}.azurecr.io/fossil/worker/local:no-branch.ltsc.8”:拉取映像配置时出错:获取拨号 tcp 52.239.152.234:443:connectex:连接尝试失败,因为连接方一段时间后没有正确响应,或者连接的主机没有响应,建立连接失败。

我正在使用私有注册表 (ACR),它最终确实成功了,但是这些失败(及其相关的退避)极大地减慢了我的 ACI 创建速度。

有什么想法可能导致这种情况以及如何避免它?ACI 创建时间对我们的场景来说很重要,而且我们已经受到超大 Windows 映像的阻碍,所以我想消除任何其他减速。

0 投票
1 回答
956 浏览

azure-container-instances - 终止的 ACI 没有消失

我正在开发一个新的容器映像,该映像运行我的工作进程以耗尽 Azure 队列。一旦队列为空,我的应用程序就会退出,我希望 ACI 也可以取消分配并被删除。我看到的是 ACI 一直存在。它处于“已终止”状态,重启计数为 0,正如我所期望的(在 Azure 门户中看到),但为什么它没有完全从 ACI 列表中删除/删除?

我正在使用 Azure cli 创建这些实例并指定从不重启选项。这是我的命令行(减去图像的具体细节):

我当然也想知道计费在哪里停止。一旦我看到终止状态,我希望计费已经停止。虽然这还不清楚。我当然可以手动删除 ACI,它会立即消失,退出应用程序是否应该这样做?

0 投票
2 回答
11788 浏览

azure - 缩放 Azure 容器实例

是否可以扩展 ACI 运行容器?

问题:

我们有一些老式的云服务 (.NET Framework v4.7.1) 我们正在迁移到 Docker 容器,我们现在已经成功地让它们在 Azure 容器实例中运行和响应,但需要能够扩展它们以适应负荷和弹性。

这是一个更大的项目的一部分,我们也在 k8s 中运行我们更新的解决方案——所有的 .NET Core 2 微服务。

当我们能够在同一个主节点上运行 Windows 和 Linux 节点时,最终目标将是把它们带入主要的 k8s 解决方案,允许我们在同一个集群中运行这两个项目。

0 投票
2 回答
610 浏览

azure-container-instances - 我可以获取重新启动的 Azure 容器实例容器的先前实例的日志吗?

我有一个运行 2 个容器的容器组。其中一个容器非常一致地重新启动。我怀疑它可能达到了内存限制,但我在日志中找不到任何东西来确认这一点。有没有办法获取容器的先前日志或找出容器编排器是否由于 OOM 终止了我的容器?

0 投票
3 回答
1016 浏览

asp.net - 如何将 ASP.NET 应用程序部署到 Azure 容器?- 不支持映像的操作系统版本

我正在尝试将 ASP.NET Web 应用程序部署到 Azure 容器实例,但出现此错误:

New-AzureRmContainerGroup:不支持映像“bwcontainercr.azurecr.io/azurecontainertest:v1”的操作系统版本。

以下是重现它的步骤:

文件、新建、项目、ASP .NET Web 应用程序(.NET 框架)

使用 .NET Framework 4.6.1

类型是 MVC

选中启用 Docker 支持

Dockerfile 包含

我可以按 F5,它在本地 docker 容器中运行,没有任何问题。

我使用这个 PowerShell 部署到 Azure。

它给了我上面的错误。似乎基本映像与 Azure 容器实例不兼容。如果我尝试直接部署它,我会得到同样的错误

New-AzureRmContainerGroup :不支持映像“microsoft/aspnet:4.7.1-windowsservercore-1709”的操作系统版本。

这很糟糕,因为当您在 VS 中添加 docker 支持时,它会使用此映像。

我尝试了许多不同的图像。这个无需我的应用程序即可自行部署。

所以我在我的应用程序中引用了该图像。它在我本地机器上的容器中构建和运行。

我部署了它,它成功了。但是当我转到 URL 时,它给了我一个 403 错误。

我在这里想念什么?

TIA,比尔·沃罗汉

0 投票
2 回答
3732 浏览

triggers - 可以使用触发器调用 Azure 容器实例吗?

我想使用 Azure 容器实例使用旧版应用程序运行长时间(10 分钟)的分析测试。当 CosmosDB 中出现一个项目时,我想触发一个新容器实例的启动。

该容器将有一个轻量级代理,该代理将从 CosmosDB 中提取数据,将其写入容器文件系统,运行旧版应用程序,获取输出并将其推送回 CosmosDB。

Cosmos 只是一个例子。可以是 blob,也可以是任何其他可以存储几 Mbs 数据的东西。

是否可以通过这种方式触发新容器的创建?任何参考/示例代码?

0 投票
1 回答
353 浏览

c# - Azure 容器实例的 HttpClient 随机异常

HttpClient 使用 Azure 容器实例抛出随机异常(10 次尝试中可能有 2-3 次)

异常信息:System.Net.HttpWebRequest.EndGetResponse(System.IAsyncResult) 处 System.Net.Http.HttpClientHandler.GetResponseCallback(System.IAsyncResult) 处的 System.Net.WebException 异常信息:System.Runtime 处的 System.Net.Http.HttpRequestException .ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) 在 System.Net.Http.HttpClient+\u003cFinishSendAsync\u003ed__58.MoveNext() 在 System.Runtime.ExceptionServices。 ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSucem.Net.Http.HttpClient+\u003cFinishSendAsync\u003ed__58.MoveNext() 在 SystetHelpers.MSIResourcesAccessInfoHelper+\u003cGetResourcesAccessInfo\u003ed__0.MoveNext()\n.Runtime.ExceptionServices.ExceptionDisp()Throw()\n 在 System.Runtime.m[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c56193ompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.ThreC.Main(System.String[])

在代码方面,我只是在开火

行为非常随机,在 10 次尝试中仅发生 2-3 次

同样适用于 VM 容器。

更新:

附加异常信息:System.Net.Http.HttpRequestException:发送请求时出错。---\u003e System.Net.WebException:无法解析远程名称:\u0027cloudbridge1.eastus.cloudapp.azure.com\u0027\r\n at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)\r\ n 在 System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)\r\n --- 内部异常堆栈跟踪结束 ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\ n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n 在 System.Net.Http.HttpClient.\u003cFinishSendAsync\u003ed__58.MoveNext()\r\n--- 来自上一个位置的堆栈跟踪结束在 System.Runtime.ExceptionServices.ExceptionDispatchInfo 引发了异常 ---\r\n。

这表明远程服务器 DNS 未解析,我也尝试使用服务器的公共 IP 但相同的随机行为,我不确定 Azure 容器实例为什么会以这种随机方式运行

0 投票
1 回答
845 浏览

c# - Identityserver4 API 身份验证未按预期工作

我被这个问题困扰了将近一个月,因此感谢您的帮助。让我们来解决问题本身:我在一个项目中有一个身份服务器和用户管理 API(基于 CRUD)。身份服务器本身用作其他网站的登录/注册页面(我目前只有一个 ASP.NET 框架 MVC 网站)。该 API 用于从 MVC 项目和移动应用程序中检索和更新用户配置文件。身份服务器和 MVC 项目由 docker 容器备份。

API 身份验证是通过身份服务器不记名令牌完成的。因此,API 身份验证在 localhost 上完美运行,但是,当我将身份服务器部署到 Azure 容器实例时,来自 MVC 和 Postman 的 API 停止工作。我得到的错误是:

处理请求时发生未处理的异常。WinHttpException:操作超时

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() HttpRequestException:发送请求时出错。

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() IOException:IDX10804:无法从以下位置检索文档:“ http://taxrefund-identity.westeurope.azurecontainer.io/.well-known/openid-configuration ”。

Microsoft.IdentityModel.Protocols.HttpDocumentRetriever+d__8.MoveNext() InvalidOperationException:IDX10803:无法从“ http://taxrefund-identity.westeurope.azurecontainer.io/.well-known/openid-configuration ”获取配置。

Microsoft.IdentityModel.Protocols.ConfigurationManager+d__24.MoveNext()

最奇怪的是,我可以毫无问题地通过浏览器访问发现端点。

我的 ConfigureServices 方法:

配置方法:

API资源配置:

我像这样保护我的 API:

为了访问它,我从 /connect/token 端点请求一个令牌(使用客户端凭据或资源所有者密码/用户名),然后在 Authorization 标头中使用它来处理后续请求。

我已经被这个问题困扰了将近一个月了——现在越来越令人沮丧了。我已阅读与此问题相关的所有帖子,但没有一个解决方案有帮助。我尝试降级到 system.net.http 的早期版本、不同的证书和更多帮助他人的解决方案。

此外,没有 [Authorize] 属性的端点也可以正常工作。

我唯一没有尝试的是安装 SSL 证书并使我的网址为 https - 我读到这不应该影响身份服务器的功能。我现在没有实际需要,所以如果有必要,请告诉我。

如果需要我提供更多信息,请告诉我。

非常感激。