本地内容略有争议, 请自行参考。 应用服务业务,怎么选择看自己。
建议点击 查看原文 查看最新内容。
原文链接: https://typonotes.com/posts/2023/07/11/docker-image-all-in-one-policy/
All in One 指的是把所有依赖都制作到同一个镜像中, 比如 app, mysql, redis。
一般来说 不要, 尽量保证一个镜像一个 应用。解耦合。可以这么理解 容器重启相当于机器重启 , 也就是 容器内的服务全部重启。因此做镜像的时候应该尽量保证服务功能的 单一性 和 简单。
如图所示, 上述有三个服务 App, Mysql 和 Redis
但是并不是 绝对的。一些时候也可以根据实际情况做一些调整。
如上图, 是一个 nginx 代理的 php 服务。 这种情况下,
综上, 我认为 nginx 和 php-fpm 是一个 应用整体。
注意:nginx 故障概率几乎为零 并不是完全为零。依旧存在风险点:nginx 死掉而 php-fpm 存活的情况。