【问题标题】:How to dockerize a microservice php application?如何dockerize一个微服务php应用程序?
【发布时间】:2020-11-29 06:13:14
【问题描述】:

我的开发环境中有大约 10 个基于 Yii PHP 构建的微服务。 他们都在流浪。 它们共享相同的数据库(MongoDB)和相同的 Nginx。 一些服务使用elastic,redis,rabitmq....等。 我需要使用 docker 而不是 vagrant。 将整个应用程序 docker 化的最佳方式是什么?

【问题讨论】:

    标签: php docker docker-compose microservices docker-machine


    【解决方案1】:

    如果您要对您的应用程序进行 docker 化,有很多事情要做。我已经提到了一些可以在开发和生产环境中帮助您的技巧。

    1. 您必须为所有二进制文件(Elastic-Search、MongoDB、Redis 等)和微服务创建 Dockerfile。在 Dockerfile 中,您只需要添加所需的包。 Docker 具有分层架构。如果上一层发生任何变化,它将影响下一层。因此,频繁变化的层应该写在 Dockerfile 的末尾。在生产环境中会有很大帮助。
    2. 制作 docker-compose.yml 来运行这些二进制文件和服务。 Dockerfile 用于制作图像,但 docker-compose.yml 运行该图像。因此,运行网络、卷、命令等服务所需的所有信息都应该在 docker-compose.yml 中
    3. 您也可以将 Jenkins 用于 CI/CD 管道。
    4. Kubernetes、docker swarm 等容器编排工具可用于生产环境。

    【讨论】:

    • 非常感谢。我正在做这件事。如果需要,我可能会再问你一次。
    • 当然。我已经用 node 和 python 微服务实现了相同的功能。
    猜你喜欢
    • 2021-12-05
    • 1970-01-01
    • 2019-02-04
    • 2020-11-16
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多