php7 安裝yar 產生docker鏡像詳解

來源:互聯網
上載者:User
這篇文章主要介紹了php7 安裝yar 產生docker鏡像,需要的朋友可以參考下

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/xxxXxx表示你要選擇的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 nginxuseradd -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.inicd /usr/local/php/etccp 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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.