从git目录构建两个不同的Docker-Compose示例[duplicate]

omqzjyyz  于 2023-02-11  发布在  Docker
关注(0)|答案(1)|浏览(99)

此问题在此处已有答案

Docker compose up keep replace existing container(1个答案)
2天前关闭。
我正在进行一个项目,创建一个可攻击的WebApp(通过XSS,SQL-Injections等)用于演示目的。我还有一个版本的应用程序是“安全的”。它们都存在于同一个GIT存储库中,但在不同的分支上。为了能够同时运行这两个应用程序,我想在单独的,不相交的docker-compose示例中启动它们(由前端、后端和数据库组成)。但是由于它们在我的PC上的同一个目录中,而我只是用git更改了内容,所以它用新的示例覆盖了我第一次创建的示例。我猜docker会根据docker-compose.yml所在的目录来命名它们,从而标记docker-compose.yml示例。
这里我有一张图片来说明我所说的“Docker-Compose示例”。每次我执行docker-compose build后接docker-compose up时,它都会被覆盖。我希望能够有它的两个不相交的示例。一个是“SecureForum”,一个是“HackableForum”。x1c 0d1x
我怎样才能使用docker-compose build这样的命令来产生两个不同的示例,即使我是在同一个存储库中执行它。有没有可能有一种方法来标记不同的docker-compose示例,这样它们就不会相互覆盖?
我希望避免创建整个存储库的副本,以便从不同的目录运行docker-compose build命令,这样它们就不会相互覆盖。
Docker-组成版本:3.8
我希望这是可以理解的我的问题是什么,我正在努力实现什么。我是新的Stackoverflow,所以任何帮助更精确地与我的问题是赞赏:)

uxhixvfz

uxhixvfz1#

这似乎是git分支的次优用法,所以我会合并它们,为安全和不安全版本的应用使用不同名称的文件(code、Dockerfiles等),然后将其全部滚动到一个使用两个独立网络(一个用于安全应用,另一个用于不安全应用)的大型Docker-compose文件中。
但是,如果你想保持当前的设置,只需创建一个新文件夹(使用与当前文件夹不同的名称),克隆相同的存储库,切换到insecrure分支并在新文件夹中启动docker-compose。现在切换回原始文件夹,切换到secure分支并在那里启动docker-compose。

相关问题