镜像介绍
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 的文件
- 重启容器:
docker restart 容器ID - 在本机
host 文件中添加站点信息 127.0.0.1 www.xiaoming.test
- 如果想要在容器内部使用
vim 的话, 可以使用如下命令 apt-get update apt-get -y install vim
|