php7 安裝yar 生成docker鏡像

来源:http://www.cnblogs.com/ccs-mxs/archive/2017/05/09/ccs-mxs.html
-Advertisement-
Play Games

Docker包含三個概念:(1)遠程倉庫即遠程鏡像庫所有鏡像的聚集地(不可進入操作)。(2)本地鏡像即從遠程倉庫拉取過來的鏡像(3)運行起來的本地鏡像叫做容器(分層的可操作)Docker使用:1.首先通過第三方鏡像庫(c.163.com)拉取相應的信息比如centos,ubuntu,tomcat等作 ...


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-config
(7)make && make install
(8)如果出現模塊未安裝可 php --ini 查看ini路徑相對調整,將extension=yar.so寫入配置文件
(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

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 問題: 兩張表 數據都非常多 A表中A1欄位 需要關聯B表主鍵 查詢 A1 欄位 存儲多個B表主鍵 格式為: 格式1:b1,b2,b3 格式2:b4 格式3:b5,b6 逗號分隔的占少數 這樣就導致在做關聯查詢時,必須使用 like '%...%', charindex ,又或者replace(A1 ...
  • " 1、視圖理論 " "1.1、視圖的存儲" "1.2、視圖的作用" "1.3、視圖的工作機制" "1.4、視圖的依賴性" "1.5、可更新的連接視圖" "1.6、內聯視圖" " 2、物化視圖 " "2.1、刷新物化視圖" "2.2、物化視圖日誌" "2.3、管理物化視圖" "2.4、物化視圖與索引 ...
  • 在ElasticSearch 2.4版本中,文檔存儲的介質分為記憶體和硬碟:記憶體速度快,但是容量有限;硬碟速度較慢,但是容量很大。同時,ElasticSearch進程自身的運行也需要記憶體空間,必須保證ElasticSearch進程有充足的運行時記憶體。為了使ElasticSearch引擎達到最佳性能,必... ...
  • 最近在學linux,使用ssh遠程登陸linux,記錄下來! 首先進入/etc目錄下,/etc目錄存放的是一些配置文件,比如passwd等配置文件,要想使用ssh遠程登陸,需要配置/etc/ssh/sshd_config文件里的配置信息,使用vim編輯,在命令行模式下輸入 vim /etc/ssh/ ...
  • 在本科期間學習過進程,網上也有很多關於進程的知識,但對於進程到底是什麼一直沒有讓我滿意的解答(以下截圖來自網路,感覺對進程理解有問題,說得也很虛)。 但今天找到這個博文感覺挺符合我的胃口:http://blog.csdn.net/yuqiang_ee_android/article/details/ ...
  • cat [功能說明] 建立文件 #cat命令用來串接文件或顯示文件內容的但是如果從標準輸入設備中讀入數據並將結果重定向到一個新的文件中,則可以到達建立新文件的目的。Cat命令只能在編輯新的文件時只能從鍵盤接收數據,不能靈活的對文件的內容編輯 因此靈活性遠遠不如專門的文本編輯工具,只能用來建立簡單的文 ...
  • 一、Apache 主要配置文件註釋Apache的主配置文件:/etc/httpd/conf/httpd.conf預設站點主目錄:/var/www/html/Apache伺服器的配置信息全部存儲在主配置文件/etc/httpd/conf/httpd.conf中,這個文件中的內容非常多,用wc命令統計一 ...
  • 常用的文件查看命令 cat 常用參數 -n 顯示行號 -E 顯示行尾結束符 $ -b 顯示非空行編號 -s 連續的空行合成一行 -A 顯示隱藏字元 通常用法 cat -An 當然還有cat 的雙胞胎,將文件倒著看的 tac more 分頁查看文件內容,空格鍵翻頁,q鍵退出。 3 head 查看文件首 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...