一、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。