PHPdocker最好的方法。 在Docker内部或外部构build应用程序?
我有PHP的应用程序,如框架,库等manu依赖项。所有这些依赖关系由composer php解决。 我已经看到了两种方式来dockerize apllication
第一种方式(build造出docker)使composer install
在主机上,并将完整的工程目录复制到容器后。
第二种方法(在continer内部构build)添加到Dockerfile RUN composer install
,并将parsing依赖关系parsing为docker
我认为第一个更接近docker的方式。 但是第二种方式有一些优点:
- 它比主机更独立。 主机不需要php,composer。
- 我可以添加到Dockerfile的
git clone <my project>
和容器将是一个足够的。 它可以build立在任何主机与docker。 这意味着一个项目build设将是高度便携的
你觉得怎么样更可取?
如果您的Dockerfile中RUN composer install
了RUN composer install
,则表示您已在您的泊坞窗图像中安装了composer php。 这不是生产状态下你想要的东西。
所以是的,我会说你必须在外部构build你的应用程序,然后build立你的形象。 请记住,如果您打算在hub.docker.com上提供该图片,请不要在图片中留下任何秘密。
好文章: http : //www.dylanlindgren.com/docker-for-the-laravel-framework/