用于开发/生产的多个Docker文件

时间:2017-09-27 20:36:26

标签: laravel docker

我有一个Laravel应用程序,其Dockerfiledocker-compose.yml用于本地开发。它目前进行一些卷共享,以便立即反映代码更新。 docker-compose还为MySQL,Redis等传播容器

但是,在准备将我的容器部署到生产(ECS)时,我想知道如何最好地构建我的Dockerfile。

基本上,在生产方面,我需要做的其他几个步骤不会在Dockerfile中本地完成:

  • 安装依赖项
  • 修改权限
  • 下载生产环境文件

我的第一个解决方案是拥有一个构建脚本,它基本上接受代码库,将其复制到空子文件夹,在该文件夹中运行上述三个命令,然后运行docker build。这样,Dockerfile不需要在开发和生产之间进行更改,我可以在构建过程之前包含额外的步骤。

但是,缺点是前三个命令不会作为docker图像分层的一部分包含在内。因此,即使我的依赖项在最近的100个版本中没有改变,它仍然会每次都从头开始下载它们,这相当耗时。

另一个选择是拥有多个docker文件,但这似乎不是很干。

是否有处理此类情况的首选或标准化方法?

0 个答案:

没有答案