docker安装php

拉取镜像

docker pull php:7.3.19-fpm

docker安装php及使用dockfile创建镜像和使用,安装php扩展_docker

 运行容器

-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扩展支持

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扩展支持
#
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

运行容器(优化后)

docker run --name vm-php --net vm-bf --network-alias php --restart=on-failure:10 -v /mnt/hgfs/basicfinder:/basicfinder/www -d wohaokun/php:7.3.19

 or mac

docker run --name bf-php --net vm-bf --network-alias php --restart=on-failure:10 -v /Users/wanghaokun/dev:/basicfinder/www -d wohaokun/php:7.3.19

 


 php 安装完扩展存放目录

/usr/local/lib/php/extensions/no-debug-non-zts-20180731/