你们在用Docker部署开发环境的时候,是直接安装一个linux镜像还是分开安装?

方法一#

直接安装一个 linux,然后在 linux 中安装 php/mysql 等

方法二#

分别安装 php 容器、mysql 容器等

这种方法我有很多问题,比如:在 nginx 容器中如何运行 php 呢?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 37

当然合在一起。分开太费空间了,没需求就合在一起

2年前 评论
deatil (作者) 2年前
deatil (作者) 2年前
yzbfeng 2年前
deatil (作者) 2年前

分开安装的 这样 处理比较方便感觉

2年前 评论
勇敢的心 (楼主) 2年前
看上隔壁小花了啦 2年前
mshx 2年前

直接用 laradock,已经处理好了一切,剩下的只要会写基本的 docker 知识就够了,首选推荐而且还可以用于线上

2年前 评论
勇敢的心 (楼主) 2年前
徵羽宫 2年前
风吹枫落

nginx 和 php 装一起,mysql 自己一个

2年前 评论
yzbfeng 2年前

可以使用 Docker Compose ,如:laradock,dnmp,或是自己定义一个 YAML 文件来配置应用程序的服务像 PHP、Nginx 和 MySQL 等等,您可以在 YAML 文件中指定每个服务使用哪个镜像、哪些容器选项、容器之间的网络连接等信息。

2年前 评论
勇敢的心 (楼主) 2年前
Lion- (作者) 2年前
勇敢的心 (楼主) 2年前
Lion- (作者) 2年前
勇敢的心 (楼主) 2年前

php,nginx 可以搞到一个镜像里。mysql 这种就不折腾了,直接用公司测试的 db

2年前 评论
勇敢的心 (楼主) 2年前
leoliang (作者) 2年前
leoliang (作者) 2年前
yzbfeng 2年前

nginx、mysql 单独建立一个容器,你的主程序建立一个容器,在你的主程序中再安装 php 和 nginx,外面的 nginx 去请求你主程序容器中的 nginx,由里面的这个 nginx 去请求 php 文件,返回结果。大概就是这样的一个思路。

2年前 评论
勇敢的心 (楼主) 2年前
勇敢的心 (楼主) 2年前
Alone88 2年前

肯定是都是单独一个容器的,你可以参考下 laradock。他是用 docker-compose 管理多容器的,你弄下来看看就懂了。你完全可以学那样进行配置,还可以进行版本控制,不同环境也可以通过那保持一致,根据自己需求改改或者自己弄一个 就行了

2年前 评论

Nginx 和 php 放在一起,其它的单独搞。dockerfile 参考 github.com/Romeoy/docker-rocky-php

2年前 评论

分开,每个单独的容器

2年前 评论

一个容器最好只管理一个服务的生命周期,这也是 Docker 的最佳实践。

为什么这样么做呢:

  1. 更好的容器生命周期的管理(否则需要 Supervisor 确保 Nginx 和 FPM 的 Master 进程正常运行);
  2. 更细致的拆分,适应跟多场景需求。(例如需要单独跑一些 Laravel 任务调度,它并不需要 Nginx)。
2年前 评论

连 SSL 都是单独一个,哈哈哈

2年前 评论
aodaobi

哈哈哈,我直接 pull centos , 然後裡面裝寶塔

2年前 评论