本篇内容介绍了“怎么用docker在服务器运行多个php版本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
下面以安装php7版本为例,介绍下具体做法。
centos6安装docker :
yum install -y https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm service docker start chkconfig docker on
拉取php7.2镜像
docker pull php:7.2-fpm
新建目录以及文件/usr/local/docker-php7/zz-docker.conf ,保存以下内容:
[global] daemonize = no [www] listen = 9001
;修改php.ini里面的变量就修改php_value数组相应的属性就好
php_value[session.save_handler] = redis php_value[session.save_path] = tcp://127.0.0.1:6379 php_value[post_max_size] = 20M php_value[upload_max_filesize] = 20M php_value[date.timezone] = Asia/Shanghai php_value[opcache.enable] = 1 php_value[opcache.enable_cli] = 1
运行容器,使用host模式跟宿主机通讯
docker run -d -v /var/www/html:/var/www/html -v /usr/local/docker-php7/zz-docker.conf:/usr/local/etc/php-fpm.d/zz-docker.conf --net=host --name php7.2 php:7.2-fpm
安装各种常用php扩展
docker exec php7.2 apt-get update -y docker exec php7.2 apt-get install -y libfreetype6-dev docker exec php7.2 apt-get install -y libjpeg62-turbo-dev docker exec php7.2 apt-get install -y libpng-dev docker exec php7.2 docker-php-ext-install pdo_mysql docker exec php7.2 docker-php-ext-install mysqli docker exec php7.2 docker-php-ext-install iconv docker exec php7.2 docker-php-ext-install gd docker exec php7.2 docker-php-ext-install mbstring docker exec php7.2 docker-php-ext-install opcache #顺便改下配置 docker exec php7.2 mv /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
由于无法通过 docker-php-ext-install
安装redis扩展,所以需要手动安装下
#进入容器里的命令行 docker exec -it php7.2 sh docker-php-source extract curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/4.2.0.tar.gz tar -zxvf /tmp/redis.tar.gz -C /usr/src/php/ext mv /usr/src/php/ext/phpredis-* /usr/src/php/ext/phpredis docker-php-ext-install phpredis #到这里按ctr+p 和 ctrl+q 以退出容器 docker restart php7.2
以上命令已经成功在9001端口运行了php7.2。接下来只要在nginx的配置里php脚本指向到9001端口即可(原来是指向9000端口)
“怎么用docker在服务器运行多个php版本”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。