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
来查看容器
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
来安装;extension=pdo_mysql
前面的 ;
docker restart 容器ID
来重启容器在从 Apache
中映射出来的文件夹中添加站点配置文件, 我这里添加了一个 ceshi.conf
的文件
文件内容如下:
<VirtualHost *:80> ServerName www.xiaoming.test DocumentRoot /var/www/html/api.ceshi.test/public <Directory "/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 </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
docker restart 容器ID
host
文件中添加站点信息127.0.0.1 www.xiaoming.test
vim
的话, 可以使用如下命令apt-get update apt-get -y install vim