直接在Azure容器应用程序中编程和运行

问题描述 投票:0回答:1

我有一个严重的错误正在尝试修复,但我必须重建 docker 映像并在每次进行小更改并想查看它是否更改任何内容时重新上传新版本。有没有办法直接在容器应用程序中进行更改,然后在发现问题所在时上传最终版本,而不是在每次更改后重新上传?

该错误本身是从容器发出的 GET 请求可以正常工作,但 POST 请求则不行。我允许 Ingress 中的所有流量,确保没有端口冲突,没有防火墙,将协议设置为自动检测等,但没有任何改变输出。除非我尝试在代码中添加调试行和堆栈跟踪以进行调试,否则容器根本不会运行。

request kubernetes-ingress azure-container-apps
1个回答
0
投票

正如我在评论中提到的。

您的问题-有没有办法直接在容器应用程序中进行更改,然后在发现问题所在时上传最终版本,而不是在每次更改后重新上传?

答案 - 是的,有一种方法可以调试容器内的问题,而无需每次都重新构建和重新上传图像。

什么? 使用 Docker Volume 进行代码热交换

如何? 请遵循此文档 - 如何在容器中自动应用对代码的更改,而无需重新启动它

对于 bug 本身来说,容器中的 GET 请求可以正常工作,但 POST 请求则不行。 部分,很可能容器内的应用程序代码未正确配置为处理 POST 请求。由于您没有分享任何详细信息,我可以建议故障排除的通用步骤。您已经检查了与网络相关的问题,例如入口和防火墙设置。

检查日志,查看应用程序日志中是否存在与 POST 请求相关的错误。 另外,连接到容器后,尝试使用

curl
从容器内部发出 POST 请求,以检查服务是否在容器内工作。

您可以暂时将容器映像切换到调试版本以进一步排除故障。

也请阅读这些内容一次-

https://www.docker.com/blog/how-to-fix-and-debug-docker-containers-like-a-superhero/

https://learn.microsoft.com/en-us/azure/container-apps/troubleshooting?tabs=bash

© www.soinside.com 2019 - 2024. All rights reserved.