2016-08-01 52 views
0

我有PHP的应用程序与像框架,库等manu依赖关系所有这些依赖关系由作曲家解决。 我看到2种方式dockerize apllicationPHP docker最好的方法。在Docker内部或外部构建应用程序?

第1方式(建设outsude泊坞窗) 使composer install主机 上后,将它复制整个项目目录容器。

第2路(内continer建筑) 加入到Dockerfile RUN composer install 做出了解析相关成搬运工

我觉得第一是接近泊坞窗的方式。 但是第二种方式有一些优点:

  • 它更独立于主机。主机不需要php,composer。
  • 我可以添加到Dockerfile git clone <my project>和容器将是一个足够的。它可以在任何具有docker的主机上构建。这意味着项目建设将是高度便携的

你认为哪种方式更可取?

回答

1

如果您在Dockerfile中有RUN composer install,这意味着您的作曲者已经安装在您的Docker镜像中。这不是生产状态下你想要的东西。

所以是的,我会说你必须在外部构建你的应用程序,然后构建你的图像。请记住,如果您打算在hub.docker.com上提供该图片,请不要在图片中留下任何秘密。

好文章在这里:http://www.dylanlindgren.com/docker-for-the-laravel-framework/

相关问题