美文网首页
创建带php运行环境的CentOS Docker镜像

创建带php运行环境的CentOS Docker镜像

作者: Freedoms1988 | 来源:发表于2018-05-04 16:34 被阅读0次
    一、拉取带httpd服务的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【后台运行参数】 -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【自动确认参数】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、配置编译参数,安装路径
      3、编译并安装
    
    八、测试编译结果
      命令:
        ll /usr/local/apache2/modules/libphp7.so
      结果:
        应打印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应改为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、浏览器应显示phpinfo信息
    
    十一、将镜像打包后,提交到DockerHub

    向DockerHub私有库中提交镜像

    十二、Dockerfile

    GitHubDockerHub

    相关文章

      网友评论

          本文标题:创建带php运行环境的CentOS Docker镜像

          本文链接:https://www.haomeiwen.com/subject/wnndrftx.html