部署php 5.4 拉取镜像并生成php5.6容器 1 2 3 4 5 6 7 8 9 docker pull maisi/php:5.6-fpm docker run –name php5.6 \ -e TZ=Asia/Shanghai \ -v /data/wwwroot:/data/wwwroot \ -v /tmp:/tmp \ -p 9000:9000 \ –privileged=true –restart=always \ -d maisi/php:5.6-fpm
安装php mysqli扩展 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 docker exec -it php5.6 /bin/sh ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo “Asia/Shanghai” > /etc/timezone cat > /etc/apt/sources.list << EOF deb [trusted=yes] http://mirrors.aliyun.com/debian-archive/debian/ stretch main contrib non-free deb [trusted=yes] http://mirrors.aliyun.com/debian-archive/debian-security/ stretch/updates main contrib non-free EOF apt-get update \ && apt-get -y –no-install-recommends install \ zlib1g-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev \ && docker-php-ext-configure gd \ –with-freetype-dir=/usr –with-jpeg-dir=/usr –with-png-dir=/usr \ && docker-php-ext-install -j$(nproc) bcmath gd pcntl opcache \ mysqli pdo pdo_mysql
注:php 5.6-fpm基于debian stretch(debian 9),目前已经EOL,/etc/apt/sources.list需要使用Debian过期源地址。
部署php 7.4 拉取镜像并生成php7.4容器 1 2 3 4 5 6 7 8 9 10 11 docker pull maisi/php:7.4-fpm docker run –name php7.4 \ -e TZ=Asia/Shanghai \ -v /data/wwwroot:/data/wwwroot \ -v /tmp:/tmp \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ -p 9001:9000 \ –privileged=true –restart=always \ -d maisi/php:7.4-fpm
/usr/bin/docker:/usr/bin/docker非必须,但如果php需要调用docker程序,则必须设置docker映射。
yum install docker方式安装的docker最高版本为:1.13.1,使用-v /usr/bin/docker:/usr/bin/docker,在容器中执行docker命令会报错:Can't open /etc/sysconfig/docker,必须完全卸载后再安装高版本的docker-ce。
安装php mysqli扩展 1 2 3 4 5 6 7 8 9 10 11 12 13 docker exec -it php7.4 /bin/sh ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo “Asia/Shanghai” > /etc/timezone sed -i ‘s/deb.debian.org/mirrors.aliyun.com/;s/security.debian.org/mirrors.aliyun.com/g’ /etc/apt/sources.list apt-get update \ && apt-get -y –no-install-recommends install \ cron rsyslog supervisor \ zlib1g-dev libpng-dev libzip-dev \ && docker-php-ext-configure gd \ && docker-php-ext-install -j$(nproc) bcmath gd pcntl opcache zip \ mysqli pdo pdo_mysql
修改用户ID 1 2 docker exec -it php7.4 /bin/sh usermod -u 1000 www-data && groupmod -g 1000 www-data