創(chuàng)建帶php運行環(huán)境的CentOS Docker鏡像

一、拉取帶httpd服務(wù)的centos鏡像到本地
命令:
  docker pull freedoms1988/centos7-httpd2.4-sshd
解釋:
  docker pull【拉取命令】 freedoms1988/centos7-httpd2.4-sshd【遠程鏡像名】
二、啟動帶httpd的centos容器
命令:
  docker run -d -p 10022:22 -p 8080:80 -v /Users/freedoms/work/Docker/httpd/www:/usr/local/apache2/htdocs freedoms1988/centos7-httpd2.4-sshd /usr/local/sbin/httpd.sh
解釋:
  docker run【運行命令】 -d【后臺運行參數(shù)】 -p 10022:22【端口映射:宿主機10022到docker22】 -p 8080:80【端口映射:宿主機8080到docker80】 -v /Users/freedoms/work/Docker/httpd/www:/usr/local/apache2/htdocs【目錄映射:宿主機:docker】 freedoms1988/centos7-httpd2.4-sshd【鏡像名稱】 /usr/local/sbin/httpd.sh【運行鏡像時運行腳本】
三、登錄容器
命令:
  ssh root@localhost -p 10022
解釋:
  ssh root【用戶】@localhost【主機】 -p 10022【端口號】
四、下載并解壓php
命令:
  1、cd /usr/local/src 
  2、wget [http://hk2.php.net/get/php-7.2.1.tar.gz/from/this/mirror](http://hk2.php.net/get/php-7.2.1.tar.gz/from/this/mirror)
  3、mv mirror php-7.2.1.tar.gz
  4、tar -zxvf php-7.2.1.tar.gz
解釋:
  1、進入源碼暫存目錄
  2、下載php7.2.1
  3、修改名稱
  4、解壓
五、下載php編譯依賴
命令:
  1、cd php-7.2.1
  2、yum install -y epel-release make perl perl-devel libxml2-devel openssl-devel bzip2-devel libjpeg libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
解釋:
  1、進入php7.2.1目錄
  2、yum install【安裝命令】 -y【自動確認參數(shù)】epel-release make perl perl-devel libxml2-devel openssl-devel bzip2-devel libjpeg libjpeg-devel libpng-devel freetype-devel libmcrypt-devel【軟件名稱】
六、下載并解壓mysql用作php編譯
命令:
  1、wget [http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz](http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz)
  2、tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
  3、mv ./mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
解釋:
  1、下載mysql5.6
  2、解壓
  3、拷貝mysql目錄到安裝路徑下
七、php編譯
命令:
  1、cd php-7.2.1  
  2、./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
  3、make && make install
解釋:
  1、進入php7.2.1路徑
  2、配置編譯參數(shù),安裝路徑
  3、編譯并安裝
八、測試編譯結(jié)果
  命令:
    ll /usr/local/apache2/modules/libphp7.so
  結(jié)果:
    應(yīng)打印libphp7.so保存目錄
九、配置httpd
操作:
  1、vim /usr/local/apache2/conf/httpd.conf
  2、AddType application/x-gzip .gz .tgz下添加AddType application/x-httpd-php .php
  3、<IfModule dir_module> DirectoryIndex index.html </IfModule>修改為<IfModule dir_module> DirectoryIndex index.html index.htm index.php </IfModule>
  4、檢查ServerName www.example.com:80應(yīng)改為ServerName localhost:80
  5、/usr/local/apache2/bin/apachectl -k graceful 使配置生效
十、測試
操作:
  1、在宿主機 /Users/freedoms/work/Docker/httpd/www中建立測試項目文件夾并編輯phpinfo文件
  2、在宿主機瀏覽器中訪問http://localhost:8080/{項目文件夾名稱}/test.php
  3、瀏覽器應(yīng)顯示phpinfo信息
十一、將鏡像打包后,提交到DockerHub

向DockerHub私有庫中提交鏡像

十二、Dockerfile

GitHubDockerHub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容