很多人写 PHP 项目时,本地跑得好好的,一放到服务器上就出问题:扩展版本对不上、时区不对、MySQL 连不上、上传目录权限报错。你可能会用宝塔或者手写一堆 shell 脚本,但换一台机器又要重来一遍。这门课针对的就是这个缺口——不是讲 Docker 有多神,而是把 PHP 应用塞进容器这件事,拆成能照着做的操作步骤。

先确认你缺的是哪一块

如果你已经能写 Dockerfile、能跑 docker run,但遇到 PHP 项目就卡在「容器里怎么装 pdo_mysql」「nginx 和 php-fpm 怎么连」「配置文件怎么从宿主机传进去」这类具体问题上,那这门课的内容是直接对得上的。反过来,如果你连镜像和容器的区别都还没弄清,建议先补基础命令再来,否则中间几节会跟得比较吃力。

课程从 PHP 官方镜像直接跑第一个程序开始,这一步其实就能暴露不少人的问题:官方镜像自带哪些扩展、cli 和 fpm 两种镜像的区别、为什么你的脚本在容器里读不到宿主机文件。这些不是理论,是你第一次运行就会撞上的。

容器里的 MySQL 和备份,是绕不开的一段

PHP 应用基本都要连数据库,所以课程单独讲了 MySQL 容器的启动套路,包括用配置文件方式启动、怎么把数据导入进去。这部分值得留意的是「配置文件方式」——平时大家习惯用一堆 -e 环境变量启动,但真正要调参数、改字符集的时候,还是得挂配置文件进去。

再往后是用微容器 alpine 构建基础镜像,并在里面装 MySQL 客户端,做成一个专门用于数据库备份的镜像。这一段的价值在于:它教你怎么按自己的需求裁剪镜像,而不是每次 pull 一个几百 MB 的通用镜像去做一件小事。备份脚本里用动态参数、把镜像做得足够小,这两点在实际运维里很实用。

框架部分:ThinkPHP5 和 Laravel

课程用 ThinkPHP5、Laravel 这类框架做了落地。框架项目的容器化难点通常不在 Docker 本身,而在框架对目录结构、缓存、日志路径、环境变量的要求。比如 runtime 目录的写权限、.env 文件怎么进容器、storage 目录要不要挂出来、composer 依赖是在构建阶段装还是启动时装。这些细节如果没人点一下,你可能要花半天去排查一个权限报错。

看完这部分,你应该能回答:为什么 Laravel 的 storage 目录要单独处理权限?composer install 放在 Dockerfile 的哪一层比较合适?框架的 .env 到底该不该打进镜像?

学完之后,对着这几个问题自查

  • 给你一个已有的 PHP 项目,你能独立写出它的 Dockerfile 和 docker-compose 配置吗?
  • nginx、php-fpm、MySQL 三个容器之间怎么通信,端口和网络怎么配?
  • PHP 扩展(pdo_mysql、gd、redis 等)在镜像里怎么装,装完怎么验证?
  • 数据库备份镜像怎么做,镜像体积能不能控制到几十 MB?
  • 容器里的时区、字符集、上传大小限制,分别在哪里改?

如果这些问题里有三四个你答不上来,那这门课的练习就值得跟着敲一遍。配套的 Docker 运行套路实战资料包含 PHP 篇的示例,建议不要只看视频,自己把每一条命令跑通,遇到报错再回头对照——Docker 的坑大多不在概念上,而在具体参数和路径上。

最后提醒一句:这门课假设你有一定的 PHP 基础,能看懂项目结构、知道 composer 是干什么的。如果 PHP 本身还不熟,先把语言基础补上,再来学容器化,顺序会更顺。

实战 Docker 操作技巧:PHP 专版

PHP应用与Docker深度结合,实战提升

编辑点评

深入浅出,实战性强,适合有一定PHP基础,想掌握Docker部署PHP应用的开发者。

⭐ 编辑推荐

本课程从Docker基础操作入手,逐步深入到PHP应用部署,涵盖ThinkPHP5、Laravel等框架。

课程亮点

• Docker实战技巧
• PHP应用部署
• 框架深度结合

课程目录

1 快速安装docker、使用PHP官方镜像运行第一个PHP程序_.mp4  [69.3 MB]
15 ThinkPHP5运行套路学习(4)-redis扩展、缓存.mp4  [55.9 MB]
8 制作个用于mysql备份的专用镜像(1)-动态参数.mp4  [23.4 MB]
16 ThinkPHP5运行套路学习(5)-上传文件.mp4  [43.1 MB]
6 mysql容器使用套路(2)-配置文件方式启动、导入数据.mp4  [61.2 MB]
Docker运行套路实战-PHP篇.zip  [2.6 MB]
18 laravel运行套路学习(2)-编排容器、数据库连接_.mp4  [15.6 MB]
7 微容器alpine套路学习-构建基础镜像、安装mysql客户.mp4  [39.2 MB]
2 docker 多容器运行php+fpm+apache实例演示_.mp4  [81.7 MB]
9 mysql备份的专用镜像(2)-crond定时备份(手动)_.mp4  [13.0 MB]
13 ThinkPHP5运行套路学习(2)-添加控制器、url重写.mp4  [19.2 MB]
11 ThinkPHP5运行套路学习(1)-结合apache_.mp4  [13.3 MB]
10 mysql备份的专用镜像(3)- crond自动备份(简单)_.mp4  [18.8 MB]
14 ThinkPHP5运行套路学习(3)-数据库,添加PHP扩展.mp4  [65.9 MB]
3 利用compose编排php+fpm+apache实例演示_.mp4  [87.6 MB]
12 samba共享 windows开发 在linux中运行.mp4  [35.2 MB]
5 [课后作业]、快速创建MySql容器.mp4  [37.4 MB]
17 laravel运行套路学习(1)-composer镜像、路由.mp4  [37.0 MB]
4 利用docker快速搭建nginx+PHP-FPM运行环境.mp4  [55.3 MB]
19 [附加课]利用docker单机快速搭建wordpress_.mp4  [25.4 MB]

适合人群

  • PHP开发者
  • Docker初学者

学习收获

掌握Docker部署PHP应用
提升PHP应用部署效率
学习框架与Docker结合的最佳实践

祝您学习愉快!

学有所成,前程似锦!