Docker
Docker构建PHP镜像
Docker构建PHP镜像,安装自定义扩展以及composer
最近将业务从宝塔面板抽离出来,由于我很多程序都是用PHP写的,所以走Docker化,需要用到PHP镜像,但是默认的PHP镜像是缺失很多扩展以及没有安装composer,所以决定自己写一个PHP镜像,安装需要用到的扩展以及composer,下面直接贴出Dockerfile文件
# Version 1.0 FROM php:7.3-fpm # 维护者信息 MAINTAINER hzx790254812@gmail.com # 替换源 RUN sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list && rm -Rf /var/lib/apt/lists/* && cat /etc/apt/sources.list # 更新软件源 RUN apt-get update # 安装zip扩展所需的依赖扩展 RUN apt-get install -y zlib1g-dev RUN apt-get install -y libzip-dev # 安装GD扩展 RUN apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev RUN docker-php-source extract RUN cd /usr/src/php/ext/gd RUN 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 RUN docker-php-ext-install gd # 安装bcmath扩展 RUN docker-php-ext-install bcmath # 安装Mysql扩展 RUN docker-php-ext-install pdo_mysql # 安装Redis扩展 RUN pecl install redis RUN docker-php-ext-enable redis # 安装Openssl扩展 RUN apt-get update RUN apt-get install openssl # 安装zip扩展 RUN docker-php-ext-install zip # 安装sockets扩展 RUN docker-php-ext-install sockets # 安装curl RUN apt-get install -y curl # 安装ftp RUN apt-get install -y ftp # 安装wget RUN apt-get install wget # 安装cron RUN apt-get update && apt-get install -y cron # 安装vim RUN apt-get install -y vim # 安装Compose RUN php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" RUN php composer-setup.php RUN php -r "unlink('composer-setup.php');" RUN mv composer.phar /usr/local/bin/composer # 对外展示端口 EXPOSE 9000
这个镜像是以PHP7.3为基础,为了提高安装速度,我直接将源改为阿里云的源,同时安装composer,暴露9000端口,然后我们在Dockerfile根目录下执行以下命令行进行打包
docker build -t hongzhuangxian/php7.3-diy .
如果为了方便使用,我们还可以将我们的镜像推送到docker Hub上,执行以下命令
docker push hongzhuangxian/php7.3-diy
这样我们就实现了自定义PHP镜像包,并推送到docker Hub上,大家也可以直接使用我的镜像,直接输入以下命令行边可以拉取镜像到本地
docker pull push hongzhuangxian/php7.3-diy
0条评论