Ubuntu运用docker配置PHP多版本共存

因为宿主机为PHP7,现在需要再运行一下PHP5.6的网站程序,故用docker来运行php5.6的网站, 实现故PHP多版本共存.
docke官方安装

curl -sSL https://get.docker.com/ | sh

国内镜像安装

curl -sSL https://get.daocloud.io/docker | sh
  1. 首先拉取php-fpm的镜像:
docker pull php:5.6-fpm

拉取时出现net/http:TLShandshaketimeout的错误的解决方法:

echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | sudo tee -a /etc/default/docker
systemctl restart docker
  1. 创建一个php 5.6的容器:
docker run -d -v /data/www/php56root:/var/www/php56root -p 9000:9000 --name php56 php:5.6-fpm
  1. 安装PHP的一些扩展
docker-php-ext-install mysql
docker-php-ext-install mysqli
......
  1. 配置php.ini
    从docker的php容器里把配置文件复制出来编辑, 因为容器里什么软件都没有很不方便
docker cp php56:/usr/local/etc/php/php.ini-production /tmp/php.ini
vi /tmp/php.ini

配置好后, 把文件复制回去容器里

docker cp /tmp/php.ini php56:/usr/local/etc/php/php.ini

重启php容器

docker restart php56
  1. 拉取nginx镜像
docker pull nginx:latest
  1. 创建一个nginx的容器:
    这里的路径最好和上面PHP的一致, 暂不去细纠了
docker run -d -p 8080:80 --name nginx -v /data/www/php56root:/var/www/php56root --link php56:php562 nginx
  1. 配置nginx
docker cp nginx:/etc/nginx/conf.d/default.conf /tmp/default.conf
vi /tmp/default.conf

主要是配置PHP那一块,

location ~ \.php$ {
        root           /var/www/php56root;
        fastcgi_index  index.php;
        fastcgi_pass   php56:9000;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #如果不行, 试一下面这个, 好像看到别的文章说最新版的nginx不支持$document_root
        #fastcgi_param  SCRIPT_FILENAME /var/www/php56root$fastcgi_script_name;
        include        fastcgi_params;
}

配置好后, 把文件复制回去容器里

docker cp /tmp/default.conf nginx:/etc/nginx/conf.d/default.conf

重启nginx容器

docker restart nginx

测试一下

http://localhost:8080
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值