如何将微服务PHP应用程序码头化?

时间:2020-08-09 13:03:43

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

在我的开发环境中,我有大约10个基于Yii PHP构建的微服务。 他们都无所事事。 他们共享相同的数据库(MongoDB)和相同的Nginx。 一些服务使用弹性,redis,rabitmq等。 我需要使用docker而不是无业游民。 Docker化整个应用程序的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如果要对应用程序进行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等容器编排工具可用于生产环境。