一、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。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230461.html