下面我将为您详细讲解“Docker搭建自己的PHP开发环境”的完整攻略。
1. 什么是Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用依赖项和配置成为一个可移植的容器,然后发布到任何流行的Linux机器上,也可以实现虚拟化,称为容器虚拟化。
2. 安装Docker
安装Docker的过程比较简单,只需按照官方文档进行安装即可。
3. 搭建PHP开发环境
3.1 编写Dockerfile
通过编写Dockerfile文件,来构建自己的PHP开发环境。
首先在项目的根目录下新建一个文件夹,命名为docker,并在其中新建一个Dockerfile文件。Dockerfile内容如下:
FROM ubuntu:16.04
MAINTAINER Your name <yourname@example.com>
RUN apt-get update \
&& apt-get install -y apache2 \
libapache2-mod-php7.0 \
php7.0-cli \
php7.0-curl \
php7.0-gd \
php7.0-mbstring \
php7.0-mcrypt \
php7.0-mysql \
php7.0-xml \
php7.0-zip \
vim \
curl \
wget \
git
COPY apache2.conf /etc/apache2/apache2.conf
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
RUN a2enmod rewrite
EXPOSE 80
CMD /usr/sbin/apache2ctl -D FOREGROUND
上面的Dockerfile文件中,每个命令的含义如下:
- FROM:指定该镜像的基础镜像,本例中我们选择的是ubuntu:16.04。
- MAINTAINER:指定此镜像的制作者及联系方式。
- RUN:安装PHP 7相关的软件包及apache2等。
- COPY:复制本地文件到容器中,这里的作用是替换容器中默认的apache2配置文件。
- ENV:设置环境变量。
- EXPOSE:让容器中的80端口能够被外界访问到。
- CMD:运行CMD指令,启动Apache来启动服务。
3.2 编写Apache配置文件
在docker目录下创建apache2.conf文件,将以下内容粘贴进去:
ServerName localhost
3.3 构建镜像
在命令行执行以下命令构建镜像:
docker build -t my-php-env .
其中my-php-env是你指定的镜像名称。
3.4 运行容器
构建了my-php-env镜像之后,就可以开始运行容器了:
docker run -p 80:80 -d my-php-env
-d表示以守护进程的方式运行容器,-p 80:80 表示将宿主机的80端口映射到容器的80端口上。
3.5 示例说明
例如我们可以在容器中运行一个PHP应用来测试我们的PHP环境是否配置正确。在容器中执行以下命令来下载WordPress:
wget https://wordpress.org/latest.tar.gz
tar -xvzf latest.tar.gz
下载并解压WordPress后,可以将它移动到apache2的默认目录下:
mv wordpress /var/www/html/
然后输入http://localhost/即可查看WordPress的安装页。
以上就是Docker搭建自己的PHP开发环境的完整攻略,通过上述步骤,我们可以轻松地搭建出一个PHP开发环境的镜像,方便我们进行开发和测试。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker搭建自己的PHP开发环境 - Python技术站