我希望使用Docker-Compose在Docker上实现一个symfony应用程序。 我将至少拥有以下容器: p>
- Nginx li>
- Rabbitmq服务器 li>
- PHP-FPM < / li>
- MySQL li>
- Solr li>
ul>
目前我们还有一个使用上述设置的开发环境。 p>
Symfony应用程序存储在本地(主机),然后在PHP-FPM容器上使用卷,以便它可以读取应用程序 - 这很有效。 我们
bash code>进入php-fpm容器运行composer / app / console命令。 p>
我们还手动运行使用消息的消费者(Symfony命令) rabbitmq服务器。 p>
我在生产中有哪些选择? p>
1)我可以创建一个运行应用程序的单个容器,然后允许其他容器使用 它? 我看到php-fpm容器需要访问应用程序代码 - 但我还想创建一个容器来运行一个消费者 - 传递服务的名称来运行到容器 - 这意味着我可以有一个单独的图像 可以灵活地启动以处理来自任何队列的消息。 此选项中的日志/缓存会发生什么? p>
2)是否将应用程序存储在需要它的每个图像中? 这是我最不喜欢的选项,然后更新我需要构建每个图像的应用程序 p>
3)我还没有探索过的东西? p>
我想允许对应用程序进行简单的更新 - 也许是脚本化的,但我也希望最大限度地减少停机时间 - 我可以使用haproxy或类似的东西 - 有其他人有任何经验在生产中运行多容器symfony应用程序吗? p> div>