首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Azure多容器应用程序安装Azure管道(多个存储库)

问为Azure多容器应用程序安装Azure管道(多个存储库)
EN

Stack Overflow用户
提问于 2018-12-12 05:40:29
回答 2查看 1.3K关注 0票数 2

我目前有一个网络应用程序分为三个部分。每个部分都有自己的git存储库。

  1. 前缘角(foo.bar)
  2. 后端角(foo.bar/admin)
  3. .NET核心API (foo.bar/api)

在前面有一个NGINX,它充当一个反向代理。目前,它都运行在VM上,与Jenkins Server一起运行,它允许我单独开发和部署每个部分,这是我非常喜欢的。

我想对应用程序进行容器化,并将其移动到Azure中用于容器。对于CD/CI,我想使用Azure DevOps & Azure管道。由于通过Docker、Compose和Kubernetes支持多个容器。

主要问题是:如何在多容器(通过Docker )环境中构建和部署一个特定的容器(例如Azure/前端:10)?(不建造所有其他容器)

如果可能的话..。

  • 如何设置Azure管道和Azure容器注册表,以允许独立的容器部署
  • 文件存放在哪里?在一个单独的仓库里?
  • 反向代理在哪里?也在一个单独的存储库里?

还是我需要用库伯内特斯?

或者,我可以在同一个服务计划上使用三个不同的应用程序网,并控制每个域/子域。

  1. 前缘角(foo.bar)
  2. 后端角(admin.foo.bar)
  3. .NET核心API (api.foo.bar)

我不知道从哪里开始。这也是一个小项目。我不想让事情变得太复杂。

任何小费都是受欢迎的。提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2018-12-12 09:32:48

我没有使用Azure管道的经验,但是有一些关于Azure容器注册表和Azure Web应用程序的想法。

首先,如果您只想通过Docker在多个容器中构建一个特定的容器,就可以在教程中设置它。

代码语言:javascript
复制
version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

还可以对文件中的一个容器进行组合。

其次,编写文件可以随处可见,您可以运行命令来创建用于容器的。例如,可以使用存储在本地计算机中的撰写文件在本地计算机中运行CLI命令。

第三,如果您将Azure Web应用程序用于容器,您应该准备好之前在存储库中准备好的对接者映像,例如Azure容器注册表。它不喜欢安装在本地机器上的对接器组合。

AKS也是一个不错的选择。您可以逐个创建服务,也可以在一个yaml文件中设置它们。很灵活。

希望这能帮到你。如果您需要更多关于AKS或ACR的帮助,请提供信息。

票数 2
EN

Stack Overflow用户

发布于 2019-03-18 22:18:52

您可以使用容器注册表,这将允许您使用码头来构建每个单独的容器。然后,您可以使用容器注册表中的容器部署多个容器应用程序。

构建容器文件遵循允许您复制、配置等的标准方法。一旦生成,您就可以按以下方式对它们进行标记:container_registry_name/container_name:{{.Run.ID}}

我建议根据所提供的示例使用生产数据库而不是容器,因为我遇到了在容器重新启动时重新设置db数据的问题。文件卷可以持久化,如下所示:

  • ${WEBAPP_STORAGE_HOME}/something/another:/var/www/html

Docker-Compose for containers (当前)不允许您在蔚蓝管道中使用,因为它只用于部署。

首先需要构建dockerfile,然后在docker-come.yml中引用新存储的容器注册表映像。另外,请注意,您不能简单地在同一个组合文件中引用一个停靠中心映像和一个容器注册表映像。您将需要拉和标记,或构建和标记容器,以这种方式使用它。您可以使用容器注册表映像或公共图像。

为了使应用程序能够连接到这些图像,您需要将其添加到应用程序设置中,并允许容器注册表服务中的admin:

代码语言:javascript
复制
 DOCKER_REGISTRY_SERVER_USERNAME = [azure-container-registry-name]
 DOCKER_REGISTRY_SERVER_URL = [azure-container-registry-name].azurecr.io
 DOCKER_REGISTRY_SERVER_PASSWORD = [password]

一旦您有了基本的应用程序设置,您就可以为进一步的开发配置您的持续集成选项,如webhooks、build选项等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53736703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档