1. 拉取PHP镜像
1
| docker pull php:7.2-apache
|
2. 下载禅道源代码
这里以11.2版本为例:
1
| wget http://dl.cnezsoft.com/zentao/11.2/ZenTaoPMS.11.2.stable.zip
|
3. 解压源代码
1
| unzip ZenTaoPMS.11.2.stable.zip
|
4. 移动源代码码到指定目录
1
| mv zentaopms/ /usr/local/zentaopms/
|
5. 启动镜像
1
| docker run -d -p 8080:80 --name zentaopms -v /usr/local/zentaopms/:/zentaopms php:7.2-apache
|
6. 安装mysql模块
1 2 3
| docker exec -it zentaopms /bin/sh docker-php-ext-install pdo_mysql exit
|
7. 修改容器内配置文件
因为镜像中没有编辑器,所以将配置文件复制到宿主机,修改完成后再移动回去
1 2 3 4 5 6 7 8 9 10 11 12
| docker cp zentaopms:/usr/local/etc/php/php.ini-production ./php.ini docker cp zentaopms:/etc/apache2/conf-enabled/docker-php.conf ./docker-php.conf docker cp zentaopms:/etc/apache2/apache2.conf ./apache2.conf
# php.ini文件修改: # 修改时区 date.timezone = Asia/Shanghai # 修改Session目录 session.save_path = "/tmp"
# docker-php.conf 文件中的:<Directory /var/www/> 修改为:<Directory /zentaopms/www/> # apache2.conf 文件中的:<Directory /var/www/> 修改为:<Directory /zentaopms/www/>
|
修改完成将文件复制到容器内:
1 2 3
| docker cp ./php.ini zentaopms:/usr/local/etc/php/php.ini docker cp ./apache2.conf zentaopms:/etc/apache2/apache2.conf docker cp ./docker-php.conf zentaopms:/etc/apache2/conf-enabled/docker-php.conf
|
8. 重启镜像
1
| docker restart zentaopms
|
此种方式因为修改了容器内容,启动新的镜像时需要重新配置,不够优雅,比较优雅的方式是直接基于php:7.2-apache构建新的镜像,即在Dockerfile里修改相关内容,此方法后面介绍。