【发布时间】:2018-05-12 21:19:33
【问题描述】:
一点背景:我是 docker 新手,还不知道任何最佳实践。我的任务是创建一个基于 php 的 web 服务,我决定使用 docker-compose 进行配置。
因为我们都是花哨的开发人员,所以我们知道 - 现在不使用 Composer 就无法构建 php 应用程序。
我的问题:
我应该在构建中安装依赖项吗?因此,通过将其添加到我的 Dockerfile 中:
RUN cd /app && composer install --no-interaction --prefer-source --optimize-autoloader
或者我应该在开发期间安装依赖项并使用包含的依赖项构建容器映像?
我只知道不这样做的一种方法:在开发机器上本地安装依赖项,然后构建容器。但是“最佳实践”会是什么样子呢?
而且 - 因为我是这个领域的新手 - 我将如何为我的应用服务容器运行“composer require some/package”?
顺便说一句
我还注意到一条消息“不要以 root/超级用户身份运行 Composer!”在构建容器时。我将COMPOSER_ALLOW_SUPERUSER=1 添加到我的Env 文件中(如here 所示),但此消息仍然出现。
是否可以在 docker 容器中不以 root 身份执行 composer install ?我可以忽略该消息吗?
提前致谢, 菲利普
【问题讨论】:
标签: php docker composer-php docker-compose devops