如何为本地和产品设置管理多个docker文件和docker-compose?

时间:2019-03-02 03:00:51

标签: docker docker-compose

当前,我在本地和产品中都使用docker-compose。 我的docker-compose的卷路径与生产环境不同。

我的Dockerfile在环境之间也有所不同。

有没有一种方法可以使每个文件具有不同的版本?我应该如何命名文件才能在不同的环境中工作?

如果我这样做:

Dockerfile.local Dockerfile.prod

如何从docker-compose.yml文件中引用它们? 我可以以某种方式拥有多个docker-compose文件吗?

1 个答案:

答案 0 :(得分:1)

使用Docker的最佳实践之一是,无论环境如何,都应使用完全相同的Dockerfile。 环境变量和cli工具(例如cli)应该是弥补每种环境之间“差距”的有用工具。

无论如何,作为一种解决方法,docker-compose命令具有-f选项,该选项会覆盖要加载的文件。也许您可以创建docker-compose.dev.yamldocker-compose.prd.yaml,然后可以将docker-compose build -f docker-compose.dev.yaml用于开发,将docker-compose build -f docker-compose.prd.yaml用于生产。