您的位置:

使用Docker搭建PHP环境

一、docker环境搭建

使用docker搭建PHP开发环境是目前比较流行的做法,因为这样可以避免开发环境之间的冲突问题,也不会影响到本地机器的配置。在开始搭建之前,需要先安装docker。官方的docker安装文档提供了详细说明,这里就不再赘述。

二、使用docker搭建环境

在启动docker之前,需要先创建一个目录,在这个目录中,创建一个名为Dockerfile的文件,可以通过编写这个文件来定义并配置docker镜像。下面是一个简单的Dockerfile示例:

FROM php:7.3-fpm
WORKDIR /var/www/html

这个Dockerfile使用了php官方的镜像,并设置工作目录为/var/www/html。接下来,我们可以使用docker build命令来构建这个镜像:

docker build -t my-php-app .

这个命令将使用当前目录下的Dockerfile文件来构建镜像,并将其命名为my-php-app。

三、docker搭建ftp服务器

Docker还可以用来搭建ftp服务器。下面是一个简单的Dockerfile示例:

FROM stilliard/pure-ftpd:latest
RUN echo "no" > /etc/pure-ftpd/conf/TLS

这个Dockerfile使用了stilliard/pure-ftpd镜像,并在容器启动时禁用了TLS。(根据需求配置不尽相同)

接下来,运行以下命令启动ftp服务器:

docker run -d \
    -p 21:21 \
    -p 30000-30009:30000-30009 \
    -e "PUBLICHOST=localhost" \
    -v /path/to/ftp:/home/ftpusers \
    stilliard/pure-ftpd:latest

这个命令将容器的21号端口映射到主机的21号端口,并将容器的30000-30009号端口映射到主机的30000-30009号端口。同时,通过环境变量PUBLICHOST,设置FTP服务器的公网访问地址。最后,使用-v参数将本地目录挂载到容器的/home/ftpusers目录中,使得容器与主机共享FTP文件。

四、docker搭建pwn环境

PWN环境是CTF比赛中常见的环境,用于测试二进制漏洞与利用。使用docker可以方便地搭建PWN环境,并提供一些常用的PWN工具。下面是一个PWN环境的Dockerfile示例:

FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
    build-essential \
    gdb \
    nasm \
    netcat \
    vim \
    strace \
    ltrace

这个Dockerfile使用了最新版的Ubuntu镜像,并安装了一些PWN环境必备的工具,包括构建工具、调试器、反汇编工具等。可以根据实际需要安装更多的工具。

构建镜像之后,可以使用以下命令来启动容器:

docker run -it \
    -v /path/to/pwn:/pwn \
    my-pwn-env

这个命令将启动一个交互式的容器,同时将本地的/path/to/pwn目录挂载到容器中的/pwn目录中,使得容器与主机共享PWN文件。

五、docker搭建测试环境

使用docker可以快速地搭建测试环境,方便进行测试和调试。下面是一个简单的测试环境的Dockerfile示例:

FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
    mysql-client \
    curl \
    wget

这个Dockerfile使用了最新版的Ubuntu镜像,并安装了一些常用的测试工具,包括mysql客户端、curl、wget等。可以根据实际需要安装更多的工具。

构建镜像之后,可以使用以下命令来启动容器:

docker run -it \
    my-test-env

这个命令将启动一个交互式的容器,可以在其中进行测试和调试工作。

六、docker搭建php

使用docker可以快速地搭建PHP开发环境,方便进行开发和测试。下面是一个简单的PHP环境的Dockerfile示例:

FROM php:7.3-fpm
RUN apt-get update && apt-get install -y \
    libpng-dev \
    libjpeg-dev \
    libpq-dev \
    libzip-dev \
    zip \
    git
RUN pecl install xdebug \
    && docker-php-ext-enable xdebug
RUN docker-php-ext-configure gd \
    --with-jpeg-dir=/usr/lib \
    && docker-php-ext-install \
    gd \
    mysqli \
    pdo \
    pdo_pgsql \
    zip \
    opcache
WORKDIR /var/www/html

这个Dockerfile使用了php官方的镜像,并安装了一些常用的PHP扩展,包括gd、mysqli、pdo、pdo_pgsql等。同时,使用pecl安装了xdebug调试工具,并且启用了opcache加速。可以根据实际需要安装更多的扩展。

构建镜像之后,可以使用以下命令来启动容器:

docker run -it \
    -v /path/to/php:/var/www/html \
    -p 8000:8000 \
    my-php-env

这个命令将启动一个交互式的容器,同时将本地的/path/to/php目录挂载到容器中的/var/www/html目录中,使得容器与主机共享PHP文件。并将容器的8000端口映射到主机的8000端口。启动容器后,在主机的浏览器中访问http://localhost:8000,即可访问容器中的PHP应用程序。

七、docker搭建itop

iTop是一款开源的IT服务管理软件,可以帮助企业有效地管理服务请求、故障、变更和资产等信息。使用docker可以方便地搭建iTop环境。下面是一个iTop环境的Dockerfile示例:

FROM php:5.6-apache
RUN apt-get update && apt-get install -y \
    libxml2-dev \
    libpng12-dev \
    libjpeg-dev \
    libfreetype6-dev \
    libmcrypt-dev \
    libldap2-dev \
    wget \
    unzip \
    cron \
    && docker-php-ext-install \
    soap \
    gd \
    mcrypt \
    ldap \
    mysql \
    && rm -rf /var/lib/apt/lists/*
RUN a2enmod rewrite
WORKDIR /var/www/html
RUN wget -O iTop.tar.gz https://sourceforge.net/projects/itop/files/latest/download \
    && tar zxvf iTop.tar.gz \
    && chown -R www-data:www-data /var/www/html/itop
COPY config-itop.php /var/www/html/itop/conf/config-itop.php

这个Dockerfile使用了php官方的镜像,并安装了一些iTop需要的PHP扩展,包括soap、gd、mcrypt、ldap、mysql等。同时,安装了Apache服务器,并启用了rewrite模块。以及下载了iTop的最新版本,并修改了iTop的配置文件。可以根据实际需要安装更多的扩展。

构建镜像之后,可以使用以下命令来启动容器:

docker run -d \
    -v /path/to/itop:/var/www/html \
    -p 8080:80 \
    my-itop-env

这个命令将启动一个后台运行的容器,同时将本地的/path/to/itop目录挂载到容器中的/var/www/html目录中,使得容器与主机共享iTop文件。并将容器的80端口映射到主机的8080端口。启动容器后,在主机的浏览器中访问http://localhost:8080,即可进入iTop。