【问题标题】:Deploying python web app using docker image on azure在 azure 上使用 docker 映像部署 python Web 应用程序
【发布时间】:2019-01-26 13:43:23
【问题描述】:

我正在尝试学习本教程DEPLOY PYTHON WEB APP IN WEB APP FOR CONTAINERS

我已经克隆了这个项目,手动测试了它,它运行良好。教程建议在 docker hub 上推送 docker 镜像。相反,我在azure 本身上创建了容器注册表,并将docker 映像推送到azure container registry。我没有启用azure container registry 中使用的管理员,因此无需担心凭据,因为它不是私有注册表。

然后我使用教程中提到的命令并启动了网络应用程序,但是当我尝试访问 url 时,它显示Service Unavailable。我不知道我在这里做错了什么。

请帮忙。谢谢

码头文件

FROM tiangolo/uwsgi-nginx-flask:python3.6-alpine3.7

ENV LISTEN_PORT=8000
EXPOSE 8000

COPY /app /app

【问题讨论】:

  • 您是否将映像构建为容器并确保容器正在运行? docker ps
  • @Jayendran 我在哪里可以在 azure 中运行 docker ps 命令。抱歉,我对 azure 的了解较少,但在 docker 方面做得很好。?
  • @Jayendran 你是对的,容器在启动时失败了。我在容器设置中检查了这个 - >登录天蓝色,但我没有得到的问题是容器失败的原因。它说ERROR - Container create failed for test-pyapi_0 with System.AggregateException, One or more errors occurred. InnerException: Docker.DotNet.DockerContainerNotFoundException, Docker API responded with status code=NotFound, response={"message":"No such image: mytestcr.azurecr.io/flask-quickstart:latest"}。你能帮我解决这个问题吗?谢谢
  • @Jayendran 它说没有这样的图像,而图像保存在 azure 容器注册表中。我还用 docker hub 对此进行了测试,并得到了同样的错误。你对此有什么想法吗?谢谢
  • @S Andrew 您能否在您的原始帖子中分享您的 DockerFile/Compose。我认为这是dotnet 包的错误发现类似问题herehere

标签: python azure docker web-applications


【解决方案1】:

用于在 Azure 容器上部署 Web 应用程序。图片是导入键。

当图像在公共注册表中时,您只需按照以下步骤操作:

  1. 在 Azure 中创建资源组。
  2. 制定服务计划。
  3. 使用图像创建 Web 应用程序。

更多详情请见Deploy a Docker/Go web app in Web App for Containers

当图像在私有注册表中时,这里以 Azure 容器注册表为例。

您还需要一步,为您的网络应用设置容器配置,如下所示:

az webapp config container set --name <app_name> --resource-group <resourceGroup_Name> --docker-custom-image-name <azure-container-registry-name>.azurecr.io/<image_name> --docker-registry-server-url https://<azure-container-registry-name>.azurecr.io --docker-registry-server-user <registry-username> --docker-registry-server-password <password>

更多详情请见Use a Docker image from any private registry

【讨论】:

  • 谢谢,它成功了。我忘了添加你提到的一个额外步骤,它基本上是 azure 容器注册表的凭据。我只是想知道,所以如果我添加任何其他 python 模块,比如密码学,我还必须将它包含在 Dockerfile 中并重建它。?
  • @SAndrew 是的,web 应用来自镜像,如果要更改,需要先重建镜像。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-15
  • 1970-01-01
  • 2019-05-20
相关资源
最近更新 更多