我有一个在Azure vm上的docker容器中运行的flask应用程序。

应用程序在端口5000上运行,我将该端口暴露给docker

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
57cdce7b5b2b        auto_ml2:latest     "/bin/sh -c 'python3…"   6 seconds ago       Up 5 seconds        0.0.0.0:5000->5000/tcp   serene_mcnulty
mlcontainers2@automl:/$ 

我正在尝试进行以下API调用:

headers = {'content-type': 'application/json'}
url = "http://XX.XX.X.XX:5000/api/AutoML"
resp = requests.post(url,data=json.dumps(data), headers=headers )

但是过了一会儿,我得到一个超时错误:

Failed to establish a new connection: [Errno 110] Connection timed out'))

我以为端口必须关闭,因此我为其添加了一条规则并打开了端口80和5000-6000,然后重新启动了VM

在此处输入图片说明

但是在此之后,我得到了同样的错误。

编辑

我从VM测试了它,在这里工作正常:

在此处输入图片说明

但是从远程请求中,我总是收到相同的错误:

在此处输入图片说明

#1楼 票数:1 已采纳

对于此问题,首先,需要确保可以从VM内的映像访问容器。 然后,您需要添加规则,以允许NSG中与VM关联的所有TCP端口。 最后,您可以使用NSG规则允许的正确端口通过VM公共IP访问VM外部的API服务器。

  ask by Luis Ramon Ramirez Rodriguez translate from so

未解决问题?本站智能推荐:

1回复

Azure 虚拟机,无法从 Internet 访问

我有一个带有 docker-compose 的 Azure 虚拟机。 但是,当我想从浏览器 ( http://public_ip:4300 ) 访问我的 Web 应用程序时,出现超时错误。 我已经添加了网络规则来接受端口 4300 上的请求 谢谢你的帮助
1回复

Azure可以在Windows数据科学虚拟机中使用Docker吗?

我在带有Windows的Azure中获得了数据科学VM,并尝试在其中安装Docker,但它不起作用。 我读过一些文章,其中说,嵌套VM仅在DSv3或E3实例( https://stackoverflow.com/a/44817200 )中可用。 但我也读到,尽管如此,其他VM也有可能( ht
1回复

如何在Azure VM中启用虚拟化

我正在阅读Docker入门(第4部分)上的文档,其中的第一步就是使用VirtualBox创建VM。 现在,我已经满足所有先决条件并进行了所有设置,但是此步骤在出现错误消息时失败 我没有任何可以尝试此硬件的硬件机器。 是否可以设置Azure VM(Ubuntu 16.04)以启用虚拟化
1回复

使用Docker在Azure VM上运行Elasticsearch:无法通过本地主机访问

我对Elasticsearch和VM都是陌生的(我是数据分析师,但我必须在Azure云上设置Elasticsearch以便以后进行分析); 如果我的问题很愚蠢,请原谅我。 我安装了可从Azure市场获得的用于Elasticsearch的Docker容器。 Elastcsearch已启动并正
3回复

Microsoft Azure-无法从VM外部访问在Docker上运行的MySQL实例

我在Microsoft Azure Cloud上创建了一个VM(Ubuntu Server 18.04),并在上面安装了Docker,并且正在运行MySQL 5.7容器。 问题是,当我尝试从VM外部连接到MySQL实例时(例如直接安装在我的计算机上的MySQL Workbench),我收到
1回复

在 azure 虚拟机上部署网站并在 Internet 上访问

我想使用 server 2016(Azure VM) 在 azure IIS 上部署一个网站,并且想在互联网上的任何地方访问它。 我怎样才能做到这一点? 为此,我必须使用哪个 IP 地址?
1回复

无法通过另一个Azure虚拟机上托管的Web应用程序连接到sql server虚拟机

我无法通过托管在另一个Azure虚拟机上的Web应用程序连接到承载SQL Server的Windows Azure虚拟机。 我在登录页面本身上收到一个应用程序错误,提示“对象引用未设置为对象实例”。 我无法连接到数据库。
1回复

使用 Flask 应用程序处理 Azure 中的端口

我对 Web 开发非常陌生,目前正在尝试在 Microsoft Azure 上部署 Flask 应用程序。 部署成功但是网站加载了很长时间然后崩溃了......我在应用程序日志中得到的错误如下: 我错过了什么? 在我的 main.py 文件中,我设置了 app.run(debug=True);