php7 安装yar 生成docker镜像


Posted in PHP onMay 09, 2017

Docker包含三个概念:

(1)远程仓库即远程镜像库所有镜像的聚集地(不可进入操作)。

(2)本地镜像即从远程仓库拉取过来的镜像

(3)运行起来的本地镜像叫做容器(分层的可操作)

Docker使用:

1.首先通过第三方镜像库(c.163.com)拉取相应的信息比如centos,ubuntu,tomcat等作为基础镜像。

Docker pull xxxx

2.运行下载好的镜像。

Docker run -dt -p 宿主机端口:镜像端口 --name起一个名字 镜像id/镜像名字 bash

-d 后台运行
-t 生成一个伪终端
-p 指定端口
--name 为运行的容器起一个名字

3.进入容器有两种方法

(1)docker exec -it容器名字/容器id bash(ctrl+d退出时不会停止该运行的容器)

(2)Docker attach 容器名字/容器id (ctrl+d退出时会停止该运行的容器)

4.开始下载编译环境所需的相应的工具和所需的依赖包

(1)yum安装wget以及编译的工具 yum install -y wget gcc gcc-c++ make openssl-devel

(2)更新国内yum源

Wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/xxx/
Xxx表示你要选择的yum源
-O 下载并以不同的文件名保存
CentOS-Base.repo 表示命名的yum源

(3)下载各个版本的nginx版本

Wget http://nginx.org/download/xxx
Xxx表示你要选择的nginx的版本

(4)下载pcre

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/xxx

Xxx表示选择的版本

(5)更新yum确保最新的

Yum update

(6)下载php7

http://php.net/downloads.php

选择版本,选择国界

(7)把以上下载的东西全部粘贴到/usr/local/src 并且全部解压

(8)编译nginx

(1)创建nginx用户

 groupadd -r nginx
useradd -r -g nginx nginx

(2)编译安装nginx

cd xxx 切换到您的nginx目录
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37
./configure参数说明:
--prefix=指定文件的安装目录
--user=指定用户
--group指定用户组
--with-使用已有的软件包和库文件
Make && make install 出现问题自行百度
echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf #在nginx的配置文件里加上这一行很关键,这样nginx可以在docker启动的时候在后台运行!

(9)编译php

(1)准备php的依赖包

yum install -y bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel

(2)进入php文件目录

(3)开始编译php

./configure --prefix=/usr/local/php --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr/local/libxml --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --enable-gd-native-ttf --with-openssl --with-fpm-user=www --with-fpm-group=www --with-libdir=lib64 --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --enable-xml --enable-shmop --enable-session --enable-ctype --with-iconv-dir --with-iconv

注:出现问题自行百度。

(4)make && make install

(5)准备php配置文件

cp php.ini-production /etc/php.ini
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf

(6)修改配置文件

;daemonize = yes的注释去掉,并把yes改为no

(7)安装yar拓展

(1)安装二进制打包协议msgpack

find / -name phpize 查找phpize是否存在
yum install php-devel 
pecl install msgpack

注:出现问题自行百度

(2)下载yar wget http://pecl.php.net/get/xxx

Xxx表示版本 确定好与php版本对照这个很重要。

(3)解压编译tar -zxvf yar-2.0.0.tgz

(4)cd cd yar-2.0.0

(5)/usr/bin/phpize

(6)./configure --with-php-config=/usr/bin/php-config7.0*

(7)make && make install

(8)如果出现模块未安装可 php --ini 查看ini路径相对调整

(9)docker commit -m "描述" -a "作者" 容器id 仓库信息mydocker/nginx:版本信息v1

(10)docker save xxx > /home/save.tar

(11)Docker load xxx

如果编译安装过程中报错,按照报错提示的去用yum解决依赖关系;如果当前的yum源解决不了,那么可以试试:

 wget http://www.atomicorp.com/installers/atomic
chmod +x atomic
./atomic 
yum install -y XXX XXX

以上所述是小编给大家介绍的php7 安装yar 生成docker镜像,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP中在数据库中保存Checkbox数据(1)
Oct 09 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
vs中通过剪切板循环来循环粘贴不同内容
Apr 30 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
May 07 PHP
php构造方法中析构方法在继承中的表现
Apr 12 PHP
php读取本地json文件的实例
Mar 07 PHP
PHP Trait代码复用类与多继承实现方法详解
Jun 17 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 PHP
php简单生成一组与多组随机字符串的方法
May 09 #PHP
PHP实现上传多图即时显示与即时删除的方法
May 09 #PHP
Laravel中如何增加自定义全局函数详解
May 09 #PHP
laravel 5.3中自定义加密服务的方案详解
May 09 #PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 #PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
May 08 #PHP
ThinkPHP实现图片上传操作的方法详解
May 08 #PHP
You might like
服务器端解压缩zip的脚本
2006/12/22 PHP
php生成html文件方法总结
2014/12/01 PHP
PHP chr()函数讲解
2019/02/11 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
Javascript与flash交互通信基础教程
2008/08/07 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
Django小白教程之Django用户注册与登录
2016/04/22 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
python中logging包的使用总结
2018/02/28 Python
Django自定义过滤器定义与用法示例
2018/03/22 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
后勤副校长自我鉴定
2013/10/13 职场文书
委托证明的格式
2014/01/10 职场文书
爱护花草树木的标语
2014/06/11 职场文书
质量主管工作职责
2014/09/26 职场文书
Mysql 用户权限管理实现
2021/05/25 MySQL