如何通过 SSH 连接到多容器 Azure 应用服务中的不同容器

How to SSH in to different containers in Multi Container Azure App Service

我想通过 SSH 连接到我在 Azure 应用服务中创建的容器。这些是基于 Linux 的容器,并使用 Docker Compose 将它们部署到 Azure 应用服务。

我已按照 article 启用 SSH。对于其中一个容器(容器 A),我可以通过 SSH(为此公开端口 2222、80)。但我也想通过 SSH 连接到其他容器(容器 B)。我已经为容器 B 公开了另一个端口 2223,并按照该文档中的相同步骤进行操作。当我尝试使用命令 ssh root@172.xx.x.x -p 2223 访问它们时,出现连接被拒绝的错误。但是命令 ssh root@172.xx.x.x -p 2222 适用于容器 A,我能够看到 API 的 Dotnet 进程 运行ning ] 在容器 A 中,当我 运行 Top 命令

经过进一步研究,我发现我们无法通过 SSH 连接到多容器。目前 Azure 仅支持 SSH 到面向 public 的容器。基于此 link 由 Azure 应用服务团队计划!

这在 2020 年仍然不受支持。有关更多信息,您还可以查看 GitHub 应用服务的存储库。

https://github.com/Azure/app-service-linux-docs

对于多容器应用服务中的 SSH,您无法 select 特定容器通过 SSH 访问。这在今天是不可能的。始终为 SSH 选择面向前端的容器,它主要位于 80 端口,如果不是,则为 yaml 文件中的第一个容器。

https://github.com/Azure/app-service-linux-docs/blob/master/how_multicontainer_webapp_determine_web_container.md

https://feedback.azure.com/forums/169385-web-apps/suggestions/34743265-support-ssh-to-specific-container-in-multi-contain

这是产品负责人在 2018 年底发来的帖子。他们似乎还没有批准该功能。