docker php composer 使用_Dockerfile基于镜像php:7.2-fpm构建自定义php7.2镜像

构建可以ssh连接、有基本命令、并且有zip pdo pdo_mysql curl redis 等扩展的php7.2镜像

  • 以下代码需要写在Dockerfile文件中,并且已安装docker命令
  • 在Dockerfile所在目录下,执行构建镜像命令即可开始构建:docker build -t hengda/php7.2-fpm:v1 .

docker-php-ext 方式安装

FROM php:7.2-fpmRUN apt-get update #cp -r /etc/apt/sources.list /etc/apt/sources.list.bak #修改软件源##&& echo "deb http://mirrors.aliyun.com/debian/ wheezy main non-free contrib" > /etc/apt/sources.list #&& echo "deb http://mirrors.aliyun.com/debian/ wheezy-proposed-updates main non-free contrib" >> /etc/apt/sources.list #&& echo "deb-src http://mirrors.aliyun.com/debian/ wheezy main non-free contrib" >> /etc/apt/sources.list #&& echo "deb-src http://mirrors.aliyun.com/debian/ wheezy-proposed-updates main non-free contrib" >> /etc/apt/sources.list ##&& apt-get update #切换目录&& cd /tmp #安装sudo&& apt-get install sudo -y #安装vim文本编辑器&& apt-get install vim -y #安装wget下载工具&& apt-get install wget -y #安装网络管理工具&& apt-get install net-tools -y #安装ping&& apt-get install iputils-ping -y #安装telnet&& apt-get install telnet -y #安装进程管理命令ps, top, vmstat, w, kill, free, slabtop, and skill&& apt-get install procps -y #安装C/C++编译包,该软件包,编译c/c++所需要的软件包也都会被安装。#该包包含gcc,g++,make等`&& apt-get install build-essential -y #安装zip依赖 zlib&& apt-get install zlib1g-dev -y #安装zip&& bash -c "apt-get install unzip -y;" #安装openssh-server  即sshd&& apt install -y openssh-server -y #给root用户设置初始密码123456&& echo "root:123456" | chpasswd #修改配置项 PermitRootLogin#&& sed 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config > /etc/ssh/sshd_config.tmp #&& cat /etc/ssh/sshd_config.tmp > /etc/ssh/sshd_config #修改配置项 UsePAM#&& sed 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config > /etc/ssh/sshd_config.tmp #&& cat /etc/ssh/sshd_config.tmp > /etc/ssh/sshd_config #同时修改配置项PermitRootLogin 和UsePAM#&& sed 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config > /etc/ssh/sshd_config.tmp #&& sed 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config.tmp > /etc/ssh/sshd_config && sed -i 's/#PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config && sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config ################################## 用docker-php-ext-install 命令安装php扩展(安装/usr/src/php/ext/目录下的扩展,不存在的可以下载扩展安装包放入该目录,然后再执行/usr/local/bin/docker-php-ext-install xxx 安装)## curl扩展需要以下扩展包&& apt-get install libcurl4-openssl-dev -y ## bz2扩展(bzip2)需要以下扩展包,安装 bzip2 bzip2-devel 否则下面的docker-php-ext-install 安装bz2扩展会报错: configure: error: Please reinstall the BZip2 distribution&& apt-get install bzip2 -y && apt-get install libbz2-dev -y ## redis扩展没有离线包,需要先下载解压移动到/usr/src/php/ext/目录下&& cd /tmp && curl -L -o phpredis-5.0.2.tar.gz https://codeload.github.com/phpredis/phpredis/tar.gz/5.0.2 && tar -xzvf phpredis-5.0.2.tar.gz && rm -f phpredis-5.0.2.tar.gz ##解压后移动到/usr/src/php/ext目录下&& mkdir -p /usr/src/php/ext/ && mv phpredis-5.0.2 /usr/src/php/ext/redis ## 开始安装php这些php扩展&& /usr/local/bin/docker-php-ext-install zip pdo pdo_mysql curl redis ################################# 扩展所在目录:#Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20131226/# php的扩展目录在 /usr/local/lib/php/extensions/no-debug-non-zts-20170718#配置#cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini#vim /usr/local/etc/php/php.ini#然后添加配置项extension=zip.so即可#################################安装composer命令#下载composer.phar#&& php -r "readfile('https://getcomposer.org/installer');" | php #给composer.phar赋可执行权限#将composer.phar复制到/bin/目录下并重命名为composer#&& mv composer.phar /bin/composer #修改权限,否则执行会报错#&& chmod -R 777 /bin/composer #查看composer版本#composer -v#修改composer镜像源地址为国内地址#&& composer config -g repo.packagist composer https://packagist.phpcomposer.com #################################composer安装laravel#composer global require laravel/installer&& echo "安装完毕!" 
pecl方式安装:
以上扩展通过pecl方式安装:
##php-zip##################################################### 安 装 php 扩展 php-zip(zip)# 切换目录到 /tmp&& cd /tmp # 下载扩展包&& wget http://qinqinxia.com/zip-1.13.5.tgz # && wget http://pecl.php.net/get/zip-1.13.5.tgz # 解压&& tar -zvxf zip-1.13.5.tgz # 删除压缩包&& rm -f zip-1.13.5.tgz # 解压后复制到目录 /usr/local/src&& mv zip-1.13.5 /usr/local/src # 切换目录到 /usr/local/src/zip-1.13.5&& cd /usr/local/src/zip-1.13.5 && /usr/local/bin/phpize && ./configure --with-php-config=/usr/local/bin/php-config && make && make install ###pdo_mysql################################################## 安 装 php 扩展 pdo_mysql# 切换到 tmp 目录&& cd /tmp #下 载 php-mysql&& wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz # 解压&& tar -xzvf PDO_MYSQL-1.0.2.tgz && rm -f PDO_MYSQL-1.0.2.tgz # 解压后移动到 /usr/local/src&& mv PDO_MYSQL-1.0.2 /usr/local/src # 切换到目录 /usr/local/src/PDO_MYSQL-1.0.2&& cd /usr/local/src/PDO_MYSQL-1.0.2 # 安装 php-mysql&& /usr/local/bin/phpize && ./configure --with-php-config=/usr/local/bin/php-config --with-pdo-mysql=/usr/local/bin/mysql && make && make install ###redis############################################## 安装 php 扩展 redis# 下载&& cd /tmp && curl -L -o phpredis-5.0.2.tar.gz https://codeload.github.com/phpredis/phpredis/tar.gz/5.0.2 && tar -xzvf phpredis-5.0.2.tar.gz && rm -f phpredis-5.0.2.tar.gz # 解压后移动到 /usr/local/src&& mv phpredis-5.0.2 /usr/local/src && cd /usr/local/src/phpredis-5.0.2 && /usr/local/bin/phpize && ./configure --with-php-config=/usr/local/bin/php-config && make && make install
其他扩展与此雷同Docker php安装扩展步骤详解:https : // www . cnblogs . com /yinguohai/p/11329273.html
6b8c91a573fce68ef313d39a681cbce2.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值