我目前有一个网络应用程序分为三个部分。每个部分都有自己的git存储库。
在前面有一个NGINX,它充当一个反向代理。目前,它都运行在VM上,与Jenkins Server一起运行,它允许我单独开发和部署每个部分,这是我非常喜欢的。
我想对应用程序进行容器化,并将其移动到Azure中用于容器。对于CD/CI,我想使用Azure DevOps & Azure管道。由于通过Docker、Compose和Kubernetes支持多个容器。
主要问题是:如何在多容器(通过Docker )环境中构建和部署一个特定的容器(例如Azure/前端:10)?(不建造所有其他容器)
如果可能的话..。
还是我需要用库伯内特斯?
或者,我可以在同一个服务计划上使用三个不同的应用程序网,并控制每个域/子域。
我不知道从哪里开始。这也是一个小项目。我不想让事情变得太复杂。
任何小费都是受欢迎的。提前感谢!
发布于 2018-12-12 09:32:48
我没有使用Azure管道的经验,但是有一些关于Azure容器注册表和Azure Web应用程序的想法。
首先,如果您只想通过Docker在多个容器中构建一个特定的容器,就可以在教程中设置它。
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的帮助,请提供信息。
发布于 2019-03-18 22:18:52
您可以使用容器注册表,这将允许您使用码头来构建每个单独的容器。然后,您可以使用容器注册表中的容器部署多个容器应用程序。
构建容器文件遵循允许您复制、配置等的标准方法。一旦生成,您就可以按以下方式对它们进行标记:container_registry_name/container_name:{{.Run.ID}}
我建议根据所提供的示例使用生产数据库而不是容器,因为我遇到了在容器重新启动时重新设置db数据的问题。文件卷可以持久化,如下所示:
Docker-Compose for containers (当前)不允许您在蔚蓝管道中使用,因为它只用于部署。
首先需要构建dockerfile,然后在docker-come.yml中引用新存储的容器注册表映像。另外,请注意,您不能简单地在同一个组合文件中引用一个停靠中心映像和一个容器注册表映像。您将需要拉和标记,或构建和标记容器,以这种方式使用它。您可以使用容器注册表映像或公共图像。
为了使应用程序能够连接到这些图像,您需要将其添加到应用程序设置中,并允许容器注册表服务中的admin:
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选项等等。
https://stackoverflow.com/questions/53736703
复制相似问题