教你在docker 中搭建 PHP8 + Apache 环境的过程
目录
- 镜像介绍
- 具体操作步骤
- PHP 安装扩展
- 以安装 pdo-mysql 扩展为例
- 搭建 PHP 站点
镜像介绍
PHP8+Apache的官方仓库:https://hub.docker.com/_/php?tab=tags- 在该仓库如下位置搜索
Apache相关的镜像

我下载的是下面这个, PHP 版本是 8.0.6

具体操作步骤
- 下载镜像:
docker pull php:apache-buster, 下载下来后使用docker images可以查看到如下信息:

- 创建容器:
docker run -itd --name php -p 80:80 -v /Users/xiaosheng/docker:/var/www/html -v /Users/xiaosheng/docker/etc:/usr/local/etc -v /Users/xiaosheng/docker/conf:/etc/apache2/sites-enabled php:apache-buster
命令详解:
--name php:php表示创建出来的镜像名称-p 80:80: 表示本机的 80 端口映射到容器内的 80 端口, 其中第一个 80 是本机的-v /Users/xiaosheng/docker:/var/www/html: 数据卷挂载, 将本机的代码文件夹映射到容器内的代码文件夹, 冒号前面的是本机的文件夹地址-v /Users/xiaosheng/docker/etc:/usr/local/etc: 将容器内PHP的配置文件映射到本机, 这样方便修改配置文件, 冒号前面的是本地的文件夹地址-v /Users/xiaosheng/docker/conf:/etc/apache2/sites-enabled: 将容器内Apache站点的配置文件映射到本地, 方便添加和修改站点配置文件, 冒号前面的是本地的文件夹地址php:apache-buster: 表示的是使用哪个镜像来创建容器, 即 镜像名称:tag名称
以上步骤就可以创建出来一个容器, 使用 docker ps -a 来查看容器

PHP 安装扩展
以安装 pdo-mysql 扩展为例
- 容器中 PHP 没有 MySQL 的扩展, 所以需要自己手动下载, 下载步骤可以参考该链接
https://www.yoyoask.com/?p=122 docker-php-source: 在/usr/src目录下创建出来php文件夹- 进入
/usr/src/php/ext文件夹, 使用docker-php-ext-install安装所需要的扩展, 如安装pdo-mysql扩展, 可以使用docker-php-ext-install pdo_mysql来安装 - 修改 PHP 的配置文件
- 去掉
;extension=pdo_mysql前面的; - 使用
docker restart 容器ID来重启容器
搭建 PHP 站点
在从 Apache 中映射出来的文件夹中添加站点配置文件, 我这里添加了一个 ceshi.conf的文件

文件内容如下:
ServerName www.xiaoming.test DocumentRoot /var/www/html/api.ceshi.test/public SetOutputFilter DEFLATE AllowOverride All Require all granted DirectoryIndex index.php index.html index.htm default.php default.html default.htm ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
- 重启容器:
docker restart 容器ID - 在本机
host文件中添加站点信息 127.0.0.1 www.xiaoming.test- 如果想要在容器内部使用
vim的话, 可以使用如下命令
apt-get update apt-get -y install vim
栏 目:其它服务器
下一篇:Linux系统通过Docker安装SQL Server数据库
本文标题:教你在docker 中搭建 PHP8 + Apache 环境的过程
本文地址:https://zz.feitang.co/server/32275.html
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





