Azure容器示例YAML引用提供了在容器中公开多个端口的选项。请参见https://learn.microsoft.com/en-us/azure/container-instances/container-instances-reference-yaml
但是,我还没有弄清楚如何像使用docker那样Map/转发端口。我想在YAML文件上定义一个端口转发,就像使用docker命令一样:
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=pw' -p 14000:1433
使用Azure YAML架构是否有限制?
我试过:
ports:
- port: 11401
- port: 1433
但是它打开了两个端口。
2条答案
按热度按时间j13ufse21#
根据文档和doc,请尝试以下格式:
ev7lccsx2#
根据以下文档,Azure容器示例不支持端口Map(如Docker中)。
更多详情请参考本文档:Troubleshoot common issues - Azure Container Instances | Microsoft Learn
容器示例中暴露的端口应该与容器映像监听的端口相同。
但是,您可以通过在docker文件中定义参数和环境变量来实现,这样您就可以在部署期间覆盖port。
例如,默认情况下,下面的docker文件将侦听http端口80,因为
http_port
设置为80。但是如果您需要ACI监听不同的端口,那么在ACI部署yaml文件的环境变量中定义target_port,如下所示。
一旦上述文件已部署,Azure容器示例开始侦听端口8090,即使映像端口为80。