【发布时间】:2020-03-06 18:45:54
【问题描述】:
我想直接从他们的 Git 存储库部署几个 Web 应用程序
单个 Web 应用由两个 docker 容器组成,一个用于 Apache Tomcat(作为中间件并用于提供静态文件,例如 Vue.js 前端)和一个 Mysql 数据库容器。
Ubuntu 服务器本身将使用 Ansible 剧本从头开始初始化,提供例如docker/docker-compose 和一个预配置的 Apache Webserver,它将用作所有 Web 应用程序的反向代理(它们是 Apache Webserver 的虚拟主机)。
第二个 Ansible 剧本通过在 Ubuntu 服务器上创建新用户、从 Git 服务器克隆 Web 应用程序的存储库并在 Apache Web 服务器上配置反向代理来安装 Web 应用程序。
有没有一种好方法可以在其 Git 存储库中配置/描述 Web 应用程序的部署?此描述应采用例如docker-compose 文件的名称,如何构建中间件软件的 war 文件,在 Ubuntu 服务器中相对于 web 应用程序用户的主目录部署 war 文件的位置等等。有没有人偶然知道是否有标准化的方法可以实现我的目标?
【问题讨论】:
-
Web 应用程序不是也从 Docker 容器运行的吗?
-
Web 应用程序本身将在两个 docker 容器中运行,一个用于 Apache Tomcat,一个用于 Mysql 数据库。
-
我的意思是“第二个 Ansible 剧本”部分。新用户、来自 Git 的应用程序源代码以及运行应用程序的任何 Web 服务器都可以放入
Dockerfile吗? -
每次都会使用第二个 Ansible playbook,此时将部署新的 Web 应用程序。根据 Web 应用程序的需要,Web 应用程序本身分为两个(或有时更多)
Dockerfiles。将这一切都集中到一个Dockerfile是不可能的。但目前我使用docker-compose.yml来编排容器。