c# - Azure 容器应用服务。 Docker 运行参数?

标签 c# azure docker containers

我在 azure 中有一个运行 docker 容器的应用程序服务。

日志显示它正在使用以下 docker run 命令运行。我隐藏了一些私有(private)公司的值(value)观。

docker run -d -p 4040:443 --name hidden -e WEBSITE_SITE_NAME=hidden -e WEBSITE_AUTH_ENABLED=False -e PORT=443 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=hidden.azurewebsites.net -e WEBSITE_INSTANCE_ID=7d541a8f0aa7702237eea8e36b3c0321166514fdfef681b7755b6e82339b42dd -e HTTP_LOGGING_ENABLED=1 .azurecr.io/tests/hidden:20210310.4

-p 4040:443 在哪里定义的?我希望在 443 上访问它,所以应该是 -p 443:443?

最佳答案

当然不是。正如您在日志中看到的那样,您无法在命令 docker run 中定义端口。端口 4040 是一个随机主机端口,由 Azure 选择。

Azure App Service 只对外公开一个端口,端口号应该是 80 到 443 之间的一个。但是对于应用服务内部的容器,您可以公开任何您想要的端口。如果容器公开的端口与应用服务公开的端口不同,您需要添加环境变量 WEBSITES_PORT 以及您为容器公开的端口的值。

例如容器暴露50000端口,应用服务暴露80端口对外访问。然后需要添加环境变量WEBSITES_PORT,值为50000。

关于c# - Azure 容器应用服务。 Docker 运行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66656501/

相关文章:

c# - 对数据库更改执行 .NET 操作

c# - 领域驱动设计中的验证

c# - 查询 HttpContext.Current.Cache 中的项目

c# - 将枚举与下拉列表绑定(bind)并在 MVC C# 中的获取操作上设置选定值

azure - 使用分页时的 Documentdb 性能

azure - Visual Studio 使用 Godaddy 的电子邮件地址登录我的 Azure 订阅

java - 无法从 flutter 应用程序连接到在 Google Cloud Run 上运行的 Java 后端

azure - 缓存诊断建议使用 20GB 的本地存储(!)。为什么?

Docker Windows 10 - 如何运行 Jenkins,在 d 驱动器上绑定(bind)卷而不会出现权限错误

amazon-web-services - 更新 ECS 服务时 AWS ECS websocket 连接耗尽