当前位置: 首页 > 知识库问答 >
问题:

在Azure应用程序服务Linux上部署docker容器

仇浩旷
2023-03-14

我有一个简单的应用程序构建为docker图像(ubuntu),并把它放入docker容器。它有几个卷附加到它。我想将此容器推送到Azure AppServiceLinux。我尝试了几个选择,但没有成功。

>

  • Azure CLI创建web应用程序并将容器推送到Azure容器注册表,然后将其部署到web应用程序。

    给出无效的引用格式错误。

    将容器上传到acr,并更新Web应用容器设置以将此容器加载到Web应用中。

    给出未找到图像参考格式无效错误。

    我不知道该怎么做。非常感谢您的帮助。我还想知道如何在这里为卷使用持久存储。Azurefileshare是更好的选择,但不确定如何将其映射到容器路径。

    下面是我的示例docker-comment文件。

    version: "3.3"
    services:
      test-backend:
        image: test-002
        container_name: test-002
        restart: always
        volumes:
         - ./assets:/opt/test_files
         - ./medialibrary:/opt/test_medialibrary
         - ./app-configs:/opt/test_configs
         - ./logs/backend:/opt/test-backend-logs
        extra_hosts:
         test-converter: "127.0.0.1"
        ports:
         - "8000:8000"
    volumes:
      test-data:
      test-data2:
    
  • 共有3个答案

    洪哲彦
    2023-03-14

    以下是如何将Azure存储装载到多容器WebApp(使用docker compose.yml):

    #Sample Docker Compose:
    version: '3.3'
     
    services:
       web:
         image: appsvc/python
         ports:
           - "8000:8000"
         volumes:
           - test:/home/site/wwwroot/test
     
    volume:
         - test
    

    (“test”是我们在docker compose.yml中使用的自定义id)

    我们现在可以从webapp容器中看到存储中存在的目录:

    https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/app-service/containers/how-to-serve-content-from-azure-storage.md

    穆建元
    2023-03-14

    对于上面描述的目标,首先应该在本地运行映像,检查它是否工作正常。您应该检查撰写文件中相关的图像是否在本地计算机中。

    如果要将映像推送到Azure容器注册表并从映像部署web应用程序。您可以从“为容器使用Web应用自定义Docker图像”中获得有关步骤的更多详细信息。

    在我看来,我建议,如果您只有一个服务要部署,您可以使用Dockerfile而不是docker撰写文件。无论是docker映像还是Azure Web应用服务,部署都更加简单。而docker组合更有利于多业务。

    郭远
    2023-03-14

    映像引用的格式必须为:image:server name。阿祖雷克。io/图像名称:标记

    除此之外,我推荐此常见问题解答,它对我启动和运行应用程序有很大帮助:https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-faq#custom-容器

     类似资料:
    • 我在Azure上的Linux应用服务上部署了一个响应js网站。但它没有部署在应用服务上。我使用pm2命令在linux环境下运行应用程序 pm2 serve/home/site/wwwroot/--无守护进程 但在错误日志中,未找到pm2的错误。接下来呢 容器没有响应端口: 8080上的HTTP ping,站点启动失败。 站点的容器已退出,站点启动失败

    • 我的Azure容器注册表中有一个docker映像和一个用于容器的Web应用(Linux)。现在,我想创建一个发布管道,该管道应该能够将Azure容器注册表的容器部署到用于容器的Web应用。我知道我可以手动执行此操作,但我需要通过Azure运营模式自动执行此过程。

    • 我想将Redmine Docker映像部署到Azure App Services,并将其指向部署到Azure数据库for MySql服务器的MySql实例。这将为我提供一个完全管理的体系结构。我已经创建了一个MySql实例,可以使用MySql Workbench从本地PC连接到它。不幸的是,我部署到应用服务的Redmine Docker映像无法启动。日志显示:实例******上的Docker经历了

    • 我挣扎了3天以来与不推荐的教程,甚至不工作微软文档。 在Microsoft文档没有真正帮助我之后,我尝试执行以下操作: 使用IntelliJ CE插件,我尝试将这个演示 部署到Azure应用服务中。

    • 我是Azure WebApps的新手,我需要一些帮助。 我用Linux操作系统、Java 8和Tomcat 9创建了一个Azure WebApp。我正在尝试部署在Lucee上运行的Mura应用程序。 从这个在Windows上完成的Azure WebApps上的Mura CMS示例中,我创建了一个根。包含Mura代码的war和包含WEB的WEB-INF文件夹。xml和lucee。罐子 我现在试图部署

    • 我在azure中有一个运行docker容器的应用程序服务。 日志显示它正在使用下面的docker run命令运行。我隐藏了一些私人公司的价值观。 docker run-d-p 4040:443--name hidden-e WEBSITE\u SITE\u name=hidden-e WEBSITE\u AUTH\u ENABLED=False-e PORT=443-e WEBSITE\u ROL