我想在Docker上使用Docker-Compose实现Symfony应用程序的部署。我至少需要以下容器:
- Nginx - Rabbitmq服务 - PHP-FPM - MySQL - Solr 我们目前正在使用以上设置进行开发环境。
Symfony应用程序存储在本地主机上,然后在PHP-FPM容器上使用卷来读取应用程序 - 这很有效。我们使用bash进入php-fpm容器来运行composer / app / console命令。
我们还手动运行从rabbitmq服务器中消费消息的消费者(Symfony命令)。
我的生产环境有哪些选择?
1)我可以创建一个单独的容器来运行应用程序,然后允许其他容器使用它吗?我看到php-fpm容器需要访问应用程序代码 - 但我也想创建一个容器来运行消费者 - 将要运行的服务名称传递给容器 - 意味着我可以拥有一个单一的映像,可以灵活地启动以处理来自任何队列的消息。这种选择中日志/缓存会怎样?
2)将应用程序存储在每个需要它的镜像中?这是我最不喜欢的选项,因为那么,要更新应用程序,我需要构建每个镜像。
3)还有一些我尚未探索的东西?
我想允许轻松更新应用程序 - 可能是通过脚本实现,但我也想将停机时间最小化 - 我可以使用haproxy或类似的工具来做到这一点 - 其他人是否有在生产环境中运行多个容器的Symfony应用程序的经验?
- Nginx - Rabbitmq服务 - PHP-FPM - MySQL - Solr 我们目前正在使用以上设置进行开发环境。
Symfony应用程序存储在本地主机上,然后在PHP-FPM容器上使用卷来读取应用程序 - 这很有效。我们使用bash进入php-fpm容器来运行composer / app / console命令。
我们还手动运行从rabbitmq服务器中消费消息的消费者(Symfony命令)。
我的生产环境有哪些选择?
1)我可以创建一个单独的容器来运行应用程序,然后允许其他容器使用它吗?我看到php-fpm容器需要访问应用程序代码 - 但我也想创建一个容器来运行消费者 - 将要运行的服务名称传递给容器 - 意味着我可以拥有一个单一的映像,可以灵活地启动以处理来自任何队列的消息。这种选择中日志/缓存会怎样?
2)将应用程序存储在每个需要它的镜像中?这是我最不喜欢的选项,因为那么,要更新应用程序,我需要构建每个镜像。
3)还有一些我尚未探索的东西?
我想允许轻松更新应用程序 - 可能是通过脚本实现,但我也想将停机时间最小化 - 我可以使用haproxy或类似的工具来做到这一点 - 其他人是否有在生产环境中运行多个容器的Symfony应用程序的经验?