Docker 管理网站的最佳做法
Docker best practises for managing websites
您认为在同一台机器上 运行 多个网站的最佳做法是什么,您会为每个 website/domain 设置单独的容器吗?或者将所有站点都放在一个容器集中?
网站 1、网站 2、网站 3:
- nginx
- phpfpm
- mysql
或
网站 1:
- nginx_1
- phpfpm_1
- mysql_1
网站 2:
- nginx_2
- phpfpm_2
- mysql_2
网站 3:
- nginx_3
- phpfpm_3
- mysql_3
好吧,如果它们没有关系,我肯定不会把它们放在同一台机器上...
即使你有一个网站使用 nginx 和 mysql 我也会把这两个分开。它只是给你更多的灵活性,这就是 Docker 的全部意义所在。
祝你好运,玩得开心Docker!
我肯定会隔离每个应用程序。
为什么?
如果它们根本不相互依赖,那么在一个应用程序中进行更改可能会影响另一个应用程序,因为它们 运行 在同一环境中,您不希望所有他们 运行 一下子陷入困境。
我更喜欢为各个网站使用单独的容器,但使用单个网络服务器作为代理。这允许您访问同一主机端口 (80/443) 上不同域的所有网站。此外,您不一定需要 运行 多个 nginx 容器。
结构:
- 代理
- nginx(监听80/443端口)
- 网站 1
- phpfpm_1
- mysql_1
- 网站 2
- phpfpm_2
- mysql_2
- ...
您可以为 jwilder/nginx-proxy that also opens the way to use convenient SSL-certification handling with e.g. jrcs/letsencrypt-nginx-proxy-companion 等代理服务使用自动配置生成。
代理服务可以如下所示:
- 代理
- nginx(监听80/443端口)
- docker-gen(基于 运行ning 容器和服务创建一个 nginx 配置)
- letsencrypt(如果需要创建 SSL 证书)
您认为在同一台机器上 运行 多个网站的最佳做法是什么,您会为每个 website/domain 设置单独的容器吗?或者将所有站点都放在一个容器集中?
网站 1、网站 2、网站 3:
- nginx
- phpfpm
- mysql
或
网站 1:
- nginx_1
- phpfpm_1
- mysql_1
网站 2:
- nginx_2
- phpfpm_2
- mysql_2
网站 3:
- nginx_3
- phpfpm_3
- mysql_3
好吧,如果它们没有关系,我肯定不会把它们放在同一台机器上...
即使你有一个网站使用 nginx 和 mysql 我也会把这两个分开。它只是给你更多的灵活性,这就是 Docker 的全部意义所在。
祝你好运,玩得开心Docker!
我肯定会隔离每个应用程序。
为什么?
如果它们根本不相互依赖,那么在一个应用程序中进行更改可能会影响另一个应用程序,因为它们 运行 在同一环境中,您不希望所有他们 运行 一下子陷入困境。
我更喜欢为各个网站使用单独的容器,但使用单个网络服务器作为代理。这允许您访问同一主机端口 (80/443) 上不同域的所有网站。此外,您不一定需要 运行 多个 nginx 容器。
结构:
- 代理
- nginx(监听80/443端口)
- 网站 1
- phpfpm_1
- mysql_1
- 网站 2
- phpfpm_2
- mysql_2
- ...
您可以为 jwilder/nginx-proxy that also opens the way to use convenient SSL-certification handling with e.g. jrcs/letsencrypt-nginx-proxy-companion 等代理服务使用自动配置生成。
代理服务可以如下所示:
- 代理
- nginx(监听80/443端口)
- docker-gen(基于 运行ning 容器和服务创建一个 nginx 配置)
- letsencrypt(如果需要创建 SSL 证书)