标题很长,但其实问题只是『如何在一个干净的Debian系统上安装PHP的运行环境』,对于一个Javaer来说,这才是问题。
所以,我们首先采用了最笨拙的办法,先拉取一个Debian的镜像(debian:latest),然后启动它,并进入/bin/bash。
#docker run -it --name d0 -p 8801:80 -v /home/yancheng:/tmp debian:latest /bin/bash
之所以映射了80,是为了调试PHP方便,可以一边改一边调测。而挂载本地目录,只是为了上传文件(只须将文件放到本地的/home/yancheng下,就可以虚拟机中通过/tmp访问它,便于我方便的得到所需要的软件包)。
使用apt-get install 安装所需要的软件,包括 apache2,php5,php-gd 等等,甚至于vim,curl,gcc,make 等等。
对于像MongoDB和Redis的这一类安装,只能通过源码,可以用curl下载tgz,用tar解开,然后 phpize + configure + make 它们。
当然,中间少不了一些配置的修改,就用vi直接编辑即可。
边学习边研究,折腾好一阵子。直至能访问你的测试页phpinfo,并且看到想要的mod都已安装。
现在,我们可以将容器保存成镜像。
#docker commit 88f3b8b52f84 debian/apache-php:0.0.1
这样,我们就得到一个可用的镜像了,可以这样使用它。
#docker run -it --name web0 -p 8880:80 -v /home/myweb/htdocs:/var/www/html debian/apache-php:0.0.1
嗯,然后你进入了一个/bin/bash环境,需要手动去启动apache2,这样就可以通过8880访问到你的PHP网站了。之后,可以用Ctrl-P