我应该把docker-compose.yml放在哪里

Amz*_*ero 16 docker dockerfile docker-compose apache-zookeeper

当我从docker hub拉出图像时.有时,我想以多容器方式运行图像.所以我选择使用docker-compose.例如,我会跑的动物园管理员复制的模式.我将新建一个名为docker-compose.yml的文件,并运行docker-compose up并等待它完全初始化.

我的问题是什么是正确的目录我应该将docker-compose.yml文件放入?

rrh*_*hrg 17

我问自己同样的问题:在哪里放我的docker-compose.yml文件?

我决定按照以下方式这样做:

  • docker-compose.yml与部署脚本一起使用的一个Repo (在我的案例中为Jenkins管道).
  • 每个微服务一个回购以及Dockerfile及其构建逻辑(构建的映像被推送到私有docker注册表).

为什么?

  • docker-compose.yml描述了一种系统(微服务)的组合物以及它是如何展开.
  • 微服务应独立于系统基础结构.
  • 可能存在多个系统(微服务的不同组成)和第二个docker-compose.yml(和Repo).

但是,当然有合理的例外.假设您正在部署自定义数据库以及管理工具(例如,定制的mariadb和adminer),那么大多数东西可能存在于一个存储库中.

  • 还可以考虑使用 git 子模块。我发现自己有一个带有 docker-compose.yml 的“超级项目”,用于启动整个开发环境,然后在名为 /services/ 的文件夹中,我为我运行的每个服务都有子模块,并且可以保持版本控制其中管理。通过这种方式,超级项目可以有一个“功能 A”的分支,并将正确的子模块指向成功实现“功能 A”所需的任何提交。 (3认同)