docker安装php
拉取镜像
docker pull php:7.3.19-fpm
运行容器
-v /mnt/hgfs/docinner/code/php:/code : 将主机中项目的目录 xxx/php 挂载到容器的 /code
docker run --name vm-php-fpm -v /mnt/hgfs/docinner/code/php:/code -d php:7.3.19-fpm
优化-统一使用网络
docker run --name vm-php-fpm --net vm-net --network-alias php -v /mnt/hgfs/docinner/code/php:/code -d php:7.3.19-fpm
php dockerfile
dockfile内容
FROM php:7.3.19-fpm
# 开启php扩展安装
ARG INSTALL_PHPEXT=true
# phpredis版本支持
ARG PHPREDIS_VERSION=3.1.3
# 复制指令,从上下文目录中复制文件或者目录到容器里指定路径。
# 目标路径, 该路径不用事先建好,路径不存在的话,会自动创建。
COPY redis.tar.gz /tmp/
# 安装pdo、redis扩展支持
# 参考地址:https://www.cnblogs.com/jxxiaocao/p/12118637.html
RUN if [ ${INSTALL_PHPEXT} = true ]; then
apt-get update
# install php pdo extension
&& docker-php-ext-install pdo pdo_mysql
# install php redis extension
&& tar xvf /tmp/redis.tar.gz
&& rm -r /tmp/redis.tar.gz
&& mkdir -p /usr/src/php/ext
&& mv phpredis-${PHPREDIS_VERSION} /usr/src/php/ext/redis
&& docker-php-ext-install redis
# install php gd extension
# 安装各种库
&& apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev
# 解压源码
&& docker-php-source extract
&& cd /usr/src/php/ext/gd
# 准备编译
&& docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2
# 编译安装
&& docker-php-ext-install gd
# install vim
&& apt-get install -y vim
# install ping
&& apt install -y iputils-ping
;fi
build
docker build -t php:cible2.0 .
运行容器
docker run --name vm-basicfinder-v3nf-php --net vm-basicfinder-v3nf --network-alias php -v /mnt/hgfs/basicfinder/v3nf-api:/basicfinder/www/v3nf.basicfinder.com/api -v /mnt/hgfs/basicfinder/v3nf-web:/basicfinder/www/v3nf.basicfinder.com/web -d php:cible2.0
php 安装完扩展存放目录
/usr/local/lib/php/extensions/no-debug-non-zts-20180731/